@keyframes jose-01-wheat-sway{0%,100%{transform:rotate(-1.4deg) translateX(-2px)}50%{transform:rotate(1.8deg) translateX(3px)}}
@keyframes jose-01-star-fall{0%,100%{transform:translateY(-8px) scale(.85);opacity:.55}50%{transform:translateY(18px) scale(1.12);opacity:1}}
@keyframes jose-01-star-twinkle{0%,100%{opacity:.25;transform:scale(.55)}50%{opacity:1;transform:scale(1.35)}}
@keyframes jose-01-pulse{50%{transform:scale(1.25)}}
#restructure300-fx[data-effect="jose-01"] .star{position:absolute;left:var(--x);top:var(--y);color:#fff4a8;font-size:var(--s);opacity:0;filter:drop-shadow(0 0 7px #fff4a8);animation:jose-01-starPulse 4.3s ease-in-out forwards;animation-delay:var(--d)}
#restructure300-fx[data-effect="jose-01"] .sun,#restructure300-fx[data-effect="jose-01"] .moonFx{position:absolute;width:74px;height:74px;border-radius:50%;opacity:0;animation:jose-01-orbitGlow 4.5s ease-in-out forwards}
#restructure300-fx[data-effect="jose-01"] .sun{left:6%;top:16%;background:#ffd363;box-shadow:0 0 38px #ffd363cc}
#restructure300-fx[data-effect="jose-01"] .moonFx{right:7%;top:18%;background:#e9eeff;box-shadow:0 0 34px #dce5ffbb}
#restructure300-fx[data-effect="jose-01"] .moonFx:after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;background:#18244a;left:-13px;top:-7px}
@keyframes jose-01-starPulse{0%,100%{opacity:0;transform:scale(.25) rotate(0)}18%,72%{opacity:.92}40%,62%{transform:scale(1.4) rotate(24deg)}52%{transform:scale(.75) rotate(-15deg)}}
@keyframes jose-01-orbitGlow{0%,100%{opacity:0;transform:scale(.5)}18%,75%{opacity:.92}48%{transform:scale(1.12)}}
@keyframes jose-01-review261-dust-drift{0%{left:-12%;opacity:0;transform:translateY(0) scale(.8)}12%{opacity:.6}50%{transform:translateY(-7px) scale(1.1)}85%{opacity:.55}100%{left:110%;opacity:0;transform:translateY(3px) scale(.9)}}
@keyframes jose-01-review261-cloud-drift{0%{left:-40%;opacity:0;transform:translateY(0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translateY(-9px) scale(1.16)}85%{opacity:.66}100%{left:112%;opacity:0;transform:translateY(6px) scale(1.06)}}
@keyframes jose-01-review261-four-frames{0%{background-position:0% 0}25%{background-position:33.333333% 0}50%{background-position:66.666667% 0}75%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes jose-01-dust262-particle{0%{opacity:0;transform:translate3d(0,0,0) scale(.8)}12%{opacity:.6}50%{transform:translate3d(calc(var(--dust-travel,1400px)*.5),-7px,0) scale(1.1)}85%{opacity:.55}100%{opacity:0;transform:translate3d(var(--dust-travel,1400px),3px,0) scale(.9)}}
@keyframes jose-01-dust262-cloud{0%{opacity:0;transform:translate3d(0,0,0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translate3d(calc(var(--dust-cloud-travel,1600px)*.45),-9px,0) scale(1.16)}85%{opacity:.66}100%{opacity:0;transform:translate3d(var(--dust-cloud-travel,1600px),6px,0) scale(1.06)}}
@keyframes jose-04-pulse{50%{transform:scale(1.25)}}
#restructure300-fx[data-effect="jose-04"] .bird{position:absolute;left:-15vw;top:var(--y);font-size:var(--s);opacity:0;filter:drop-shadow(0 5px 5px #08102088);animation:jose-04-birdFlight var(--t) cubic-bezier(.2,.65,.5,.96) forwards;animation-delay:var(--d)}
#restructure300-fx[data-effect="jose-04"] .bird.reverse{left:auto;right:-15vw;animation-name:jose-04-birdFlightReverse}
#restructure300-fx[data-effect="jose-04"] .bird span{display:block;animation:jose-04-birdFlap .34s ease-in-out infinite alternate}
@keyframes jose-04-birdFlight{0%{opacity:0;transform:translate(0,8vh) scaleX(-1) rotate(-8deg)}12%{opacity:.95}45%{transform:translate(58vw,-9vh) scaleX(-1) rotate(4deg)}78%{opacity:.95;transform:translate(96vw,7vh) scaleX(-1) rotate(-3deg)}100%{opacity:0;transform:translate(125vw,-3vh) scaleX(-1) rotate(5deg)}}
@keyframes jose-04-birdFlightReverse{0%{opacity:0;transform:translate(0,5vh) rotate(-6deg)}12%{opacity:.95}52%{transform:translate(-66vw,-8vh) rotate(3deg)}85%{opacity:.95}100%{opacity:0;transform:translate(-125vw,4vh) rotate(-4deg)}}
@keyframes jose-04-birdFlap{from{transform:translateY(-3px) rotate(-5deg)}to{transform:translateY(4px) rotate(7deg)}}
@keyframes jose-04-storySprite{0%,24.99%{background-position:0 0}25%,49.99%{background-position:33.333% 0}50%,74.99%{background-position:66.666% 0}75%,100%{background-position:100% 0}}
@keyframes jose-04-flameFrames{0%,12.49%{background-position:0 0}12.5%,24.99%{background-position:14.2857% 0}25%,37.49%{background-position:28.5714% 0}37.5%,49.99%{background-position:42.8571% 0}50%,62.49%{background-position:57.1429% 0}62.5%,74.99%{background-position:71.4286% 0}75%,87.49%{background-position:85.7143% 0}87.5%,100%{background-position:100% 0}}
@keyframes jose-07-grainSway{0%{transform:rotate(-2.4deg) translateX(-.65%)}45%{transform:rotate(1.35deg) translateX(.4%)}100%{transform:rotate(2.8deg) translateX(.78%)}}
@keyframes jose-07-windDrift{0%{transform:translate3d(-2.6%,.55%,0) scale(1.03);opacity:.42}50%{opacity:.76}100%{transform:translate3d(3.1%,-.55%,0) scale(1.045);opacity:.64}}
@keyframes jose-07-flameFrames{0%,12.49%{background-position:0 0}12.5%,24.99%{background-position:14.2857% 0}25%,37.49%{background-position:28.5714% 0}37.5%,49.99%{background-position:42.8571% 0}50%,62.49%{background-position:57.1429% 0}62.5%,74.99%{background-position:71.4286% 0}75%,87.49%{background-position:85.7143% 0}87.5%,100%{background-position:100% 0}}
@keyframes jose-07-pulse{50%{transform:scale(1.25)}}
#restructure300-fx[data-effect="jose-07"] .ring{position:absolute;left:var(--x);top:-14vh;width:var(--s);height:calc(var(--s)*.58);border:clamp(4px,calc(var(--s)*.1),9px) solid #e4a82f;border-radius:50%;opacity:0;box-shadow:0 2px 2px #fff9 inset,0 -4px 5px #8c551d inset,0 8px 12px #070b1c55;transform-style:preserve-3d;animation:jose-07-ringFall var(--t) cubic-bezier(.18,.72,.44,1) forwards,jose-07-ringSpin 1.15s linear infinite;animation-delay:var(--d)}
#restructure300-fx[data-effect="jose-07"] .ring::after{content:"";position:absolute;inset:-8px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 70%,#fff8c9 76%,#fff 80%,transparent 87%);filter:blur(.3px);animation:jose-07-ringGlare .72s linear infinite}
@keyframes jose-07-ringFall{0%{opacity:0;translate:0 -8vh;rotate:-8deg}10%{opacity:1}42%{translate:var(--drift) 38vh;rotate:18deg}72%{translate:var(--drift2) 72vh;rotate:-12deg;opacity:1}100%{translate:var(--drift3) 118vh;rotate:16deg;opacity:0}}
@keyframes jose-07-ringSpin{to{transform:rotateY(360deg)}}
@keyframes jose-07-ringGlare{to{transform:rotate(360deg)}}
@keyframes jose-07-oct6-gold-glimmer{0%,50%,100%{opacity:0;scale:.5}68%{opacity:1;scale:1.15}82%{opacity:.25;scale:.75}}
@keyframes jose-07-oct6-flower-fall{0%{top:-12%;transform:translateX(0);opacity:0}7%{opacity:.95}90%{opacity:.9}100%{top:112%;transform:translateX(var(--flower-drift));opacity:0}}
@keyframes jose-07-oct6-flower-turn{0%{transform:rotate(-25deg) rotateY(0deg)}100%{transform:rotate(340deg) rotateY(35deg)}}
@keyframes jose-07-oct6-star-pulse{0%,100%{transform:scale(.86);opacity:.7;filter:brightness(.95)}50%{transform:scale(1.12);opacity:1;filter:brightness(1.24)}}
@keyframes jose-07-oct6-tail-wag{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}
#restructure300-fx[data-effect="jose-10"] .heart-pulse{display:block;width:min(62vw,520px);filter:drop-shadow(0 0 22px #ffb3c3) drop-shadow(0 14px 24px #21071666);animation:jose-10-heartBeat 3.4s ease-in-out forwards;will-change:transform}
#restructure300-fx[data-effect="jose-10"] .heart-pulse svg{display:block;width:100%;height:auto;overflow:visible}
#restructure300-fx[data-effect="jose-10"] .heart-pulse path{fill:#e8486b;stroke:#b92e51;stroke-width:1.6;stroke-linejoin:round}
@keyframes jose-10-sceneBreath{to{transform:scale(1.025)}}
@keyframes jose-10-dustDrift{to{transform:translate3d(7%,-3%,0);opacity:.45}}
@keyframes jose-10-glint{0%,40%,100%{opacity:0;transform:scale(.45) rotate(0)}55%{opacity:1;transform:scale(1.25) rotate(35deg)}}
@keyframes jose-10-lightPulse{50%{opacity:.45;transform:scale(1.05)}}
@keyframes jose-10-grainJump{0%,62%,100%{opacity:0;transform:translate3d(0,0,0) rotate(0)}66%{opacity:.95}78%{opacity:1;transform:translate3d(var(--dx),var(--dy),0) rotate(150deg)}91%{opacity:.7;transform:translate3d(var(--dx),6px,0) rotate(300deg)}}
@keyframes jose-10-heartBeat{0%{transform:scale(.22)}14%{transform:scale(.92)}28%{transform:scale(.72)}43%{transform:scale(1.02)}58%{transform:scale(.78)}73%{transform:scale(.96)}100%{transform:scale(.62)}}
@keyframes jose-10-pulse{50%{transform:scale(1.25)}}
@keyframes jose-10-review261-dust-drift{0%{left:-12%;opacity:0;transform:translateY(0) scale(.8)}12%{opacity:.6}50%{transform:translateY(-7px) scale(1.1)}85%{opacity:.55}100%{left:110%;opacity:0;transform:translateY(3px) scale(.9)}}
@keyframes jose-10-review261-cloud-drift{0%{left:-40%;opacity:0;transform:translateY(0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translateY(-9px) scale(1.16)}85%{opacity:.66}100%{left:112%;opacity:0;transform:translateY(6px) scale(1.06)}}
@keyframes jose-10-review261-four-frames{0%{background-position:0% 0}25%{background-position:33.333333% 0}50%{background-position:66.666667% 0}75%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes jose-10-dust262-particle{0%{opacity:0;transform:translate3d(0,0,0) scale(.8)}12%{opacity:.6}50%{transform:translate3d(calc(var(--dust-travel,1400px)*.5),-7px,0) scale(1.1)}85%{opacity:.55}100%{opacity:0;transform:translate3d(var(--dust-travel,1400px),3px,0) scale(.9)}}
@keyframes jose-10-dust262-cloud{0%{opacity:0;transform:translate3d(0,0,0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translate3d(calc(var(--dust-cloud-travel,1600px)*.45),-9px,0) scale(1.16)}85%{opacity:.66}100%{opacity:0;transform:translate3d(var(--dust-cloud-travel,1600px),6px,0) scale(1.06)}}
@keyframes jacob-02-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-02-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-02-pulse{50%{transform:scale(1.5)}}
#restructure300-fx[data-effect="jacob-02"] .lentil-burst{position:absolute;inset:0;display:grid;place-items:center;animation:jacob-02-fx-life 4.6s ease both}
#restructure300-fx[data-effect="jacob-02"] .fx-plate{width:min(76vw,580px);height:auto;filter:drop-shadow(0 24px 28px #06112777);animation:jacob-02-plate-pulse 1.1s ease-in-out infinite}
#restructure300-fx[data-effect="jacob-02"] .fx-steam{position:absolute;left:calc(50% + var(--x));top:38%;width:18px;height:90px;border-radius:50%;border-left:7px solid #ffffffd1;filter:blur(2px);animation:jacob-02-fx-steam 2s ease-out var(--delay) infinite}
@keyframes jacob-02-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-02-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-02-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-04-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-04-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-04-pulse{50%{transform:scale(1.5)}}
@keyframes jacob-04-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-04-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-04-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-04-dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
#restructure300-fx[data-effect="jacob-04"] .path-burst{position:absolute;inset:0;background:linear-gradient(180deg,#07122fcc,#183565bb 52%,#8b724866);animation:jacob-04-fx-life 5s ease both;overflow:hidden}
#restructure300-fx[data-effect="jacob-04"] .path-moon{position:absolute;left:50%;top:10%;width:clamp(90px,24vw,180px);height:clamp(90px,24vw,180px);transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 36% 34%,#fffce4,#f8e6a7 68%,#d9bd72);box-shadow:0 0 48px #ffe9a888}
#restructure300-fx[data-effect="jacob-04"] .path-road{position:absolute;left:50%;bottom:-5%;width:min(90vw,760px);height:70%;transform:translateX(-50%);clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);background:linear-gradient(180deg,#b59a6bcc,#d6bc87ee);filter:drop-shadow(0 0 10px #e9d2a444)}
#restructure300-fx[data-effect="jacob-04"] .path-foot{position:absolute;left:calc(50% + var(--x));bottom:var(--y);font-size:var(--size);color:#67543d;opacity:0;transform:rotate(var(--r));animation:jacob-04-foot-appear 3.8s ease var(--delay) both}
#restructure300-fx[data-effect="jacob-04"] .path-star{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff;box-shadow:0 0 7px #fff7b9;animation:jacob-04-twinkle var(--d) ease-in-out infinite}
@keyframes jacob-04-foot-appear{0%{opacity:0;transform:rotate(var(--r)) scale(.4)}18%,72%{opacity:.85;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
@keyframes jacob-04-review261-dust-drift{0%{left:-12%;opacity:0;transform:translateY(0) scale(.8)}12%{opacity:.6}50%{transform:translateY(-7px) scale(1.1)}85%{opacity:.55}100%{left:110%;opacity:0;transform:translateY(3px) scale(.9)}}
@keyframes jacob-04-review261-cloud-drift{0%{left:-40%;opacity:0;transform:translateY(0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translateY(-9px) scale(1.16)}85%{opacity:.66}100%{left:112%;opacity:0;transform:translateY(6px) scale(1.06)}}
@keyframes jacob-04-review261-four-frames{0%{background-position:0% 0}25%{background-position:33.333333% 0}50%{background-position:66.666667% 0}75%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes jacob-04-dust262-particle{0%{opacity:0;transform:translate3d(0,0,0) scale(.8)}12%{opacity:.6}50%{transform:translate3d(calc(var(--dust-travel,1400px)*.5),-7px,0) scale(1.1)}85%{opacity:.55}100%{opacity:0;transform:translate3d(var(--dust-travel,1400px),3px,0) scale(.9)}}
@keyframes jacob-04-dust262-cloud{0%{opacity:0;transform:translate3d(0,0,0) scale(.82)}10%{opacity:.72}45%{opacity:.62;transform:translate3d(calc(var(--dust-cloud-travel,1600px)*.45),-9px,0) scale(1.16)}85%{opacity:.66}100%{opacity:0;transform:translate3d(var(--dust-cloud-travel,1600px),6px,0) scale(1.06)}}
@keyframes jacob-05-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-05-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-05-pulse{50%{transform:scale(1.5)}}
@keyframes jacob-05-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-05-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-05-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-05-dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
@keyframes jacob-05-foot-appear{0%{opacity:0;transform:rotate(var(--r)) scale(.4)}18%,72%{opacity:.85;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
@keyframes jacob-05-scene-breath{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes jacob-05-light-glow{from{opacity:.32}to{opacity:.9}}
@keyframes jacob-05-breeze-drift{0%,100%{background-position:100% 0}50%{background-position:0 0}}
#restructure300-fx[data-effect="jacob-05"] .ladder-burst{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#172e60e8,#536fa6c9 48%,#9ca6a9ad 83%);animation:jacob-05-ladder-life 7.2s ease both}
#restructure300-fx[data-effect="jacob-05"] .earth-ground{position:absolute;left:-10%;right:-10%;bottom:-4%;height:19%;z-index:5;border-radius:50% 48% 0 0;background:radial-gradient(ellipse at 18% 28%,#a48553 0 2%,transparent 3%),radial-gradient(ellipse at 74% 35%,#c3a272 0 3%,transparent 4%),linear-gradient(#a4824e,#6d5032);box-shadow:0 -8px 30px #a99d6744}
#restructure300-fx[data-effect="jacob-05"] .heaven-glow{position:absolute;left:20%;top:0;width:60%;height:42%;background:radial-gradient(ellipse at 50% 8%,#fff9d5ee,#ffe5a566 35%,transparent 68%);animation:jacob-05-light-glow 2s ease-in-out infinite alternate}
#restructure300-fx[data-effect="jacob-05"] .heaven-cloud{position:absolute;top:8%;width:62%;height:14%;z-index:6;border-radius:50%;background:radial-gradient(ellipse at 30% 45%,#fffef6 0 32%,transparent 34%),radial-gradient(ellipse at 65% 50%,#edf1ff 0 40%,transparent 42%);filter:drop-shadow(0 7px 14px #d9e4ff77);animation:jacob-05-cloud-drift 7s ease-in-out infinite alternate}
#restructure300-fx[data-effect="jacob-05"] .cloud-a{left:-6%}
#restructure300-fx[data-effect="jacob-05"] .cloud-b{right:-6%;top:11%;animation-direction:alternate-reverse}
#restructure300-fx[data-effect="jacob-05"] .ladder-reveal{position:absolute;left:50%;bottom:13%;width:clamp(90px,24vw,190px);height:73%;transform:translateX(-50%);z-index:4;clip-path:inset(100% 0 0 0);animation:jacob-05-ladder-grow 7.2s ease both;overflow:visible}
#restructure300-fx[data-effect="jacob-05"] .sky-ladder{position:absolute;inset:0;transform:perspective(700px) rotateX(17deg);transform-origin:bottom center;filter:drop-shadow(0 0 14px #ffe8a8aa)}
#restructure300-fx[data-effect="jacob-05"] .rail{position:absolute;top:0;bottom:0;width:10px;border-radius:8px;background:linear-gradient(90deg,#b77e27,#fff0b2,#c58a30)}
#restructure300-fx[data-effect="jacob-05"] .left-rail{left:3%}
#restructure300-fx[data-effect="jacob-05"] .right-rail{right:3%}
#restructure300-fx[data-effect="jacob-05"] .ladder-rung{position:absolute;left:4%;right:4%;height:8px;border-radius:8px;background:linear-gradient(#fff0b4,#c79039);box-shadow:0 1px 6px #fff2a888}
#restructure300-fx[data-effect="jacob-05"] .sky-spark{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#fff7cf;box-shadow:0 0 9px #ffe7a3;animation:jacob-05-twinkle 1.8s ease var(--delay) infinite}
@keyframes jacob-05-ladder-grow{0%,8%{clip-path:inset(100% 0 0 0)}65%,100%{clip-path:inset(0 0 0 0)}}
@keyframes jacob-05-ladder-life{0%,100%{opacity:0}8%,86%{opacity:1}}
@keyframes jacob-05-cloud-drift{from{transform:translateX(-12px)}to{transform:translateX(14px)}}
@keyframes jacob-05-sheep-tail-wag{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes jacob-08-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-08-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-08-pulse{50%{transform:scale(1.5)}}
@keyframes jacob-08-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-08-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-08-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-08-dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
@keyframes jacob-08-foot-appear{0%{opacity:0;transform:rotate(var(--r)) scale(.4)}18%,72%{opacity:.85;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
@keyframes jacob-08-scene-breath{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes jacob-08-light-glow{from{opacity:.32}to{opacity:.9}}
@keyframes jacob-08-breeze-drift{0%,100%{background-position:100% 0}50%{background-position:0 0}}
#restructure300-fx[data-effect="jacob-08"] .cloud-a{left:-6%}
#restructure300-fx[data-effect="jacob-08"] .cloud-b{right:-6%;top:11%;animation-direction:alternate-reverse}
#restructure300-fx[data-effect="jacob-08"] .left-rail{left:3%}
#restructure300-fx[data-effect="jacob-08"] .right-rail{right:3%}
@keyframes jacob-08-ladder-grow{0%,8%{clip-path:inset(100% 0 0 0)}65%,100%{clip-path:inset(0 0 0 0)}}
@keyframes jacob-08-ladder-life{0%,100%{opacity:0}8%,86%{opacity:1}}
@keyframes jacob-08-cloud-drift{from{transform:translateX(-12px)}to{transform:translateX(14px)}}
@keyframes jacob-08-sheep-tail-wag{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes jacob-08-tail-swish{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
#restructure300-fx[data-effect="jacob-08"] .spotted-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none}
#restructure300-fx[data-effect="jacob-08"] .spotted-runner{position:absolute;top:var(--lane);width:var(--size);left:-140px;animation:jacob-08-sheep-cross var(--duration) linear var(--delay) both;filter:drop-shadow(0 4px 4px #0002)}
#restructure300-fx[data-effect="jacob-08"] .spotted-runner:nth-child(even){left:auto;right:-140px;animation-name:jacob-08-sheep-cross-back}
#restructure300-fx[data-effect="jacob-08"] .spotted-runner img{display:block;width:100%;height:auto;transform:scaleX(var(--flip));animation:jacob-08-sheep-bounce .42s ease-in-out infinite alternate}
@keyframes jacob-08-sheep-cross{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 280px))}}
@keyframes jacob-08-sheep-cross-back{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 280px))}}
@keyframes jacob-08-sheep-bounce{from{translate:0 0;rotate:-2deg}to{translate:0 -7px;rotate:2deg}}
@keyframes jacob-11-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-11-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-11-pulse{50%{transform:scale(1.5)}}
@keyframes jacob-11-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-11-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-11-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-11-dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
@keyframes jacob-11-foot-appear{0%{opacity:0;transform:rotate(var(--r)) scale(.4)}18%,72%{opacity:.85;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
@keyframes jacob-11-scene-breath{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes jacob-11-light-glow{from{opacity:.32}to{opacity:.9}}
@keyframes jacob-11-breeze-drift{0%,100%{background-position:100% 0}50%{background-position:0 0}}
#restructure300-fx[data-effect="jacob-11"] .cloud-a{left:-6%}
#restructure300-fx[data-effect="jacob-11"] .cloud-b{right:-6%;top:11%;animation-direction:alternate-reverse}
#restructure300-fx[data-effect="jacob-11"] .left-rail{left:3%}
#restructure300-fx[data-effect="jacob-11"] .right-rail{right:3%}
@keyframes jacob-11-ladder-grow{0%,8%{clip-path:inset(100% 0 0 0)}65%,100%{clip-path:inset(0 0 0 0)}}
@keyframes jacob-11-ladder-life{0%,100%{opacity:0}8%,86%{opacity:1}}
@keyframes jacob-11-cloud-drift{from{transform:translateX(-12px)}to{transform:translateX(14px)}}
@keyframes jacob-11-sheep-tail-wag{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes jacob-11-tail-swish{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
@keyframes jacob-11-sheep-cross{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 280px))}}
@keyframes jacob-11-sheep-cross-back{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 280px))}}
@keyframes jacob-11-sheep-bounce{from{translate:0 0;rotate:-2deg}to{translate:0 -7px;rotate:2deg}}
#restructure300-fx[data-effect="jacob-11"] .battle-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#0a183c77,#1e355d44 60%,transparent);animation:jacob-11-battle-life 6.5s ease both}
#restructure300-fx[data-effect="jacob-11"] .battle-pair{position:absolute;left:50%;bottom:17%;width:min(82vw,540px);height:auto;max-height:62vh;object-fit:contain;translate:-50% 0;transform-origin:50% 92%;animation:jacob-11-battle-rock 1.25s ease-in-out infinite;filter:drop-shadow(0 0 18px #fff0bd8c)}
#restructure300-fx[data-effect="jacob-11"] .battle-glow{position:absolute;left:12%;right:12%;top:18%;bottom:10%;background:radial-gradient(ellipse,#fff2c13d,transparent 67%);animation:jacob-11-light-glow 2.6s ease-in-out infinite alternate}
#restructure300-fx[data-effect="jacob-11"] .battle-star{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff8df;box-shadow:0 0 8px #fff3bd;animation:jacob-11-battle-twinkle 3.2s ease-in-out var(--delay) infinite alternate}
#restructure300-fx[data-effect="jacob-11"] .battle-dawn{position:absolute;inset:0;background:linear-gradient(0deg,#ffd28c66,transparent 70%);opacity:0;animation:jacob-11-battle-sunrise 6.5s ease both}
@keyframes jacob-11-gift-drift{from{transform:scale(1.025) translateX(-.6%)}to{transform:scale(1.025) translateX(.6%)}}
@keyframes jacob-11-grapple-scene{from{transform:scale(1.015) rotate(-.3deg)}to{transform:scale(1.035) rotate(.3deg)}}
@keyframes jacob-11-water-shimmer{0%,100%{background-position:100% 0;opacity:.3}50%{background-position:0 0;opacity:.75}}
@keyframes jacob-11-battle-rock{0%,100%{transform:translateX(-8px) rotate(-3deg)}50%{transform:translateX(8px) rotate(3deg)}}
@keyframes jacob-11-battle-life{0%,100%{opacity:0}12%,83%{opacity:1}}
@keyframes jacob-11-battle-twinkle{from{opacity:.25}to{opacity:.9}}
@keyframes jacob-11-battle-sunrise{0%,42%{opacity:0}82%,100%{opacity:1}}
#restructure300-fx[data-effect="jacob-11"] .battle-burst.reduced-motion .battle-pair,#restructure300-fx[data-effect="jacob-11"] .battle-burst.reduced-motion .battle-star,#restructure300-fx[data-effect="jacob-11"] .battle-burst.reduced-motion .battle-glow{animation:none!important}
@keyframes jacob-11-prayer-butterfly-flap{0%,100%{background-position:0 0}25%{background-position:33.333333% 0}50%{background-position:66.666667% 0}75%{background-position:100% 0}}
@keyframes jacob-11-prayer-butterfly-flight{0%,100%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(70%,-35%) rotate(5deg)}50%{transform:translate(120%,25%) rotate(12deg)}75%{transform:translate(40%,55%) rotate(-5deg)}}
@keyframes jacob-11-river-star-twinkle{from{opacity:.15;transform:scale(.7)}to{opacity:.95;transform:scale(1.25)}}
@keyframes jacob-11-oct6-gold-glimmer{0%,50%,100%{opacity:0;scale:.5}68%{opacity:1;scale:1.15}82%{opacity:.25;scale:.75}}
@keyframes jacob-11-oct6-flower-fall{0%{top:-12%;transform:translateX(0);opacity:0}7%{opacity:.95}90%{opacity:.9}100%{top:112%;transform:translateX(var(--flower-drift));opacity:0}}
@keyframes jacob-11-oct6-flower-turn{0%{transform:rotate(-25deg) rotateY(0deg)}100%{transform:rotate(340deg) rotateY(35deg)}}
@keyframes jacob-11-oct6-star-pulse{0%,100%{transform:scale(.86);opacity:.7;filter:brightness(.95)}50%{transform:scale(1.12);opacity:1;filter:brightness(1.24)}}
@keyframes jacob-11-oct6-tail-wag{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}
@keyframes jacob-12-twinkle{50%{opacity:.25;transform:scale(.45)}}
@keyframes jacob-12-steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
@keyframes jacob-12-pulse{50%{transform:scale(1.5)}}
@keyframes jacob-12-plate-pulse{50%{transform:scale(1.07)}}
@keyframes jacob-12-fx-steam{0%{opacity:0;transform:translateY(30px) scale(.6)}24%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-125px) scale(1.45)}}
@keyframes jacob-12-fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}
@keyframes jacob-12-dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
@keyframes jacob-12-foot-appear{0%{opacity:0;transform:rotate(var(--r)) scale(.4)}18%,72%{opacity:.85;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
@keyframes jacob-12-scene-breath{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes jacob-12-light-glow{from{opacity:.32}to{opacity:.9}}
@keyframes jacob-12-breeze-drift{0%,100%{background-position:100% 0}50%{background-position:0 0}}
#restructure300-fx[data-effect="jacob-12"] .cloud-a{left:-6%}
#restructure300-fx[data-effect="jacob-12"] .cloud-b{right:-6%;top:11%;animation-direction:alternate-reverse}
#restructure300-fx[data-effect="jacob-12"] .left-rail{left:3%}
#restructure300-fx[data-effect="jacob-12"] .right-rail{right:3%}
@keyframes jacob-12-ladder-grow{0%,8%{clip-path:inset(100% 0 0 0)}65%,100%{clip-path:inset(0 0 0 0)}}
@keyframes jacob-12-ladder-life{0%,100%{opacity:0}8%,86%{opacity:1}}
@keyframes jacob-12-cloud-drift{from{transform:translateX(-12px)}to{transform:translateX(14px)}}
@keyframes jacob-12-sheep-tail-wag{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@keyframes jacob-12-tail-swish{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
@keyframes jacob-12-sheep-cross{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 280px))}}
@keyframes jacob-12-sheep-cross-back{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 280px))}}
@keyframes jacob-12-sheep-bounce{from{translate:0 0;rotate:-2deg}to{translate:0 -7px;rotate:2deg}}
@keyframes jacob-12-gift-drift{from{transform:scale(1.025) translateX(-.6%)}to{transform:scale(1.025) translateX(.6%)}}
@keyframes jacob-12-grapple-scene{from{transform:scale(1.015) rotate(-.3deg)}to{transform:scale(1.035) rotate(.3deg)}}
@keyframes jacob-12-water-shimmer{0%,100%{background-position:100% 0;opacity:.3}50%{background-position:0 0;opacity:.75}}
@keyframes jacob-12-battle-rock{0%,100%{transform:translateX(-8px) rotate(-3deg)}50%{transform:translateX(8px) rotate(3deg)}}
@keyframes jacob-12-battle-life{0%,100%{opacity:0}12%,83%{opacity:1}}
@keyframes jacob-12-battle-twinkle{from{opacity:.25}to{opacity:.9}}
@keyframes jacob-12-battle-sunrise{0%,42%{opacity:0}82%,100%{opacity:1}}
@keyframes jacob-12-prayer-butterfly-flap{0%,100%{background-position:0 0}25%{background-position:33.333333% 0}50%{background-position:66.666667% 0}75%{background-position:100% 0}}
@keyframes jacob-12-prayer-butterfly-flight{0%,100%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(70%,-35%) rotate(5deg)}50%{transform:translate(120%,25%) rotate(12deg)}75%{transform:translate(40%,55%) rotate(-5deg)}}
@keyframes jacob-12-river-star-twinkle{from{opacity:.15;transform:scale(.7)}to{opacity:.95;transform:scale(1.25)}}
@keyframes jacob-12-reunion-sway{from{transform:scale(1.012) rotate(-.25deg)}to{transform:scale(1.028) rotate(.25deg)}}
#restructure300-fx[data-effect="jacob-12"] .hug-burst{position:absolute;inset:0;display:grid;place-items:center;background:#f5d9ad30;animation:jacob-12-hug-life 6.5s ease both}
#restructure300-fx[data-effect="jacob-12"] .hug-glow{position:absolute;width:min(95vw,650px);height:min(80vh,650px);border-radius:50%;background:radial-gradient(ellipse,#ffeac2bb,transparent 68%);animation:jacob-12-hug-glow 3s ease-in-out infinite alternate}
#restructure300-fx[data-effect="jacob-12"] .hug-pair{position:relative;display:block;max-width:84vw;max-height:70vh;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 20px 20px #50301533);animation:jacob-12-hug-rock 3s ease-in-out infinite;transform-origin:50% 90%}
@keyframes jacob-12-hug-rock{0%,100%{transform:rotate(-1.6deg) scale(.98)}50%{transform:rotate(1.6deg) scale(1.015)}}
@keyframes jacob-12-hug-glow{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1.04)}}
@keyframes jacob-12-hug-life{0%,100%{opacity:0}10%,85%{opacity:1}}
#restructure300-fx[data-effect="jacob-12"] .hug-burst.reduced-motion .hug-pair,#restructure300-fx[data-effect="jacob-12"] .hug-burst.reduced-motion .hug-glow{animation:none!important}