:root{--paper:#fffdf7;--ink:#293247;--muted:#657086;--line:#ded8c8}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% 5%,#34527d 0,transparent 28rem),linear-gradient(180deg,#17284f,#0c1430);color:#fff;font-family:"DM Sans",system-ui,sans-serif;min-height:100vh}.shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:24px 0 50px}header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:11px;font-weight:850}.brandmark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f4ca73;color:#15203c;box-shadow:0 0 26px #f5bd5d55}.actions{display:flex;gap:10px;align-items:center}.actions a{color:#e4e9fb;text-decoration:none;font-weight:750;font-size:.85rem}.theme{border:1px solid #8293c2;background:#202d57;color:#fff;border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:750}.draft{background:#ffe08b;color:#3d2b0c;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.book{background:var(--paper);color:var(--ink);border-radius:26px;overflow:hidden;box-shadow:0 28px 70px #05081688}.book-top{padding:34px 42px 22px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 10px;color:#966a38;text-transform:uppercase;font-weight:850;letter-spacing:.13em;font-size:.75rem}h1{font:700 clamp(2.2rem,5vw,4.2rem)/.98 "Libre Baskerville",serif;letter-spacing:-.045em;margin:0}.byline{margin:16px 0 0;color:var(--muted)}.story{padding:30px 42px 48px;font:400 1.12rem/1.95 "Libre Baskerville",serif}.story p{margin:0 0 1.35rem}.word{border-radius:4px;cursor:pointer}.word.heard{color:#9297a3}.word.active{background:#ffe3a6;box-shadow:0 0 0 3px #ffe3a6}.word.cue{border-bottom:2px dotted #c27d23}.figure{width:min(92%,740px);margin:1.8rem auto 2.1rem;border-radius:18px;overflow:hidden;background:#15203c;box-shadow:0 14px 35px #19213c2c}.figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.figure figcaption{background:#f1eadb;color:#5f5a51;padding:10px 14px;font:600 .82rem/1.45 "DM Sans",sans-serif}.scene{position:relative;overflow:hidden}.star-layer,.steam-layer{position:absolute;inset:0;pointer-events:none}.star-layer i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff4b3;box-shadow:0 0 7px 2px #ffe98a;animation:twinkle var(--d) ease-in-out var(--delay) infinite}.steam-layer{left:50%;top:22%;right:5%;bottom:35%}.steam-layer i{position:absolute;left:var(--x);bottom:0;width:12px;height:42px;border-radius:50%;border-left:4px solid #ffffffb8;filter:blur(1px);animation:steam 2.2s ease-out var(--delay) infinite}@keyframes twinkle{50%{opacity:.25;transform:scale(.45)}}@keyframes steam{0%{opacity:0;transform:translateY(18px) scale(.55)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-65px) scale(1.45)}}
aside{position:sticky;top:16px}.panel,.tip{background:#17234a;border:1px solid #394a7b;border-radius:20px;padding:19px}.panel h2{margin:0 0 8px;font-size:1rem}.panel p{color:#c7d0eb;font-size:.86rem;line-height:1.55}.listen{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:14px;background:#5e7bd4;color:#fff;padding:13px;cursor:pointer;font-weight:900;margin:15px 0 11px;font-size:.92rem}.listen.listening{background:#e47783}.mic{width:10px;height:10px;border-radius:50%;background:currentColor}.listen.listening .mic{animation:pulse 1.2s infinite}@keyframes pulse{50%{transform:scale(1.5)}}.status{min-height:48px;background:#0f1938;border-radius:12px;padding:11px 12px;color:#bac5e5;font-size:.8rem;line-height:1.45}.status strong{color:#fff}.meter{height:5px;background:#34436e;border-radius:5px;overflow:hidden;margin-top:12px}.meter span{display:block;width:0;height:100%;background:linear-gradient(90deg,#f3c96f,#71c7ce);transition:width .3s}.label{font-size:.71rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#aeb9dd;margin:17px 0 9px}.sounds{display:flex;flex-wrap:wrap;gap:7px}.sound{border:1px solid #536596;background:#24315c;color:#f8f9ff;border-radius:999px;padding:7px 9px;cursor:pointer;font-size:.76rem}.reset{border:0;background:none;color:#cbd4f0;text-decoration:underline;padding:10px 0 0;cursor:pointer}.motion{width:100%;border:1px solid #6073aa;background:#25345f;color:#fff;border-radius:12px;padding:10px 12px;margin-top:12px;cursor:pointer;font-weight:800}.motion[aria-pressed=true]{background:#7f3c27;border-color:#e6a55f}.motion-note{display:none;margin:8px 2px 0!important;font-size:.76rem!important}.tip{margin-top:14px;color:#cbd4ed;font-size:.82rem;line-height:1.55}.tip strong{display:block;color:#fff0bc}.unsupported{display:none;background:#7b3545;color:#fff1f3;border-radius:10px;padding:9px;margin-top:10px;font-size:.8rem}.lentil-fx{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}.lentil-burst{position:absolute;inset:0;display:grid;place-items:center;animation:fx-life 4.6s ease both}.fx-plate{width:min(76vw,580px);height:auto;filter:drop-shadow(0 24px 28px #06112777);animation:plate-pulse 1.1s ease-in-out infinite}.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:fx-steam 2s ease-out var(--delay) infinite}@keyframes plate-pulse{50%{transform:scale(1.07)}}@keyframes 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 fx-life{0%,100%{opacity:0}9%,85%{opacity:1}}html[data-theme=dark]{--paper:#161d31;--ink:#f1f4ff;--muted:#bbc4dc;--line:#3b4668}html[data-theme=dark] .figure figcaption{background:#222c46;color:#d3daef}html[data-theme=dark] .word.active{background:#80632b;box-shadow:0 0 0 3px #80632b}html[data-theme=dark] .word.heard{color:#8e99b6}
@media(max-width:820px){.layout{grid-template-columns:1fr}.book{order:2}aside{position:static;order:1}.book-top,.story{padding-left:24px;padding-right:24px}.figure{width:100%}}@media(max-width:520px){.shell{width:calc(100% - 16px);padding-top:14px}.book-top,.story{padding-left:18px;padding-right:18px}.brand{font-size:.84rem}.theme{padding:8px 9px;font-size:.78rem}.story{font-size:1.04rem}.fx-plate{width:90vw}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.star-layer i,.steam-layer i,.fx-plate,.fx-steam{animation:none!important}.lentil-burst{animation:fx-life 4.6s ease both!important}}
.dust-layer{position:absolute;inset:55% 0 0;pointer-events:none}.dust-layer i{position:absolute;left:var(--x);bottom:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#e7c88a88;filter:blur(1px);animation:dust-rise var(--d) ease-out var(--delay) infinite}@keyframes dust-rise{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.65}100%{opacity:0;transform:translate(var(--drift),-28px)}}
.steam-layer.steam-left{left:0;right:52%;top:8%;bottom:38%}
.steam-layer.steam-esau{left:34%;right:48%;top:30%;bottom:42%}
.path-burst{position:absolute;inset:0;background:linear-gradient(180deg,#07122fcc,#183565bb 52%,#8b724866);animation:fx-life 5s ease both;overflow:hidden}.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}.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)}.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:foot-appear 3.8s ease var(--delay) both}.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:twinkle var(--d) ease-in-out infinite}@keyframes 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)}}
@media(prefers-reduced-motion:reduce){.dust-layer i,.path-foot,.path-star{animation:none!important}.path-burst{animation:fx-life 5s ease both!important}}

.scene img{transform-origin:center;animation:scene-breath 14s ease-in-out infinite alternate}.scene-night img{animation-duration:20s}.light-layer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 70% 20%,#ffe9a04d,transparent 65%);animation:light-glow 5s ease-in-out infinite alternate;mix-blend-mode:screen}.breeze-layer{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffedb522 44%,transparent 68%);background-size:220% 100%;animation:breeze-drift 9s ease-in-out infinite}.scene-dream .light-layer{background:radial-gradient(ellipse at 65% 15%,#fff7c077,transparent 58%)}
@keyframes scene-breath{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes light-glow{from{opacity:.32}to{opacity:.9}}@keyframes breeze-drift{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.ladder-burst{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#172e60e8,#536fa6c9 48%,#9ca6a9ad 83%);animation:ladder-life 7.2s ease both}.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}.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:light-glow 2s ease-in-out infinite alternate}.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:cloud-drift 7s ease-in-out infinite alternate}.cloud-a{left:-6%}.cloud-b{right:-6%;top:11%;animation-direction:alternate-reverse}.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:ladder-grow 7.2s ease both;overflow:visible}.sky-ladder{position:absolute;inset:0;transform:perspective(700px) rotateX(17deg);transform-origin:bottom center;filter:drop-shadow(0 0 14px #ffe8a8aa)}.rail{position:absolute;top:0;bottom:0;width:10px;border-radius:8px;background:linear-gradient(90deg,#b77e27,#fff0b2,#c58a30)}.left-rail{left:3%}.right-rail{right:3%}.ladder-rung{position:absolute;left:4%;right:4%;height:8px;border-radius:8px;background:linear-gradient(#fff0b4,#c79039);box-shadow:0 1px 6px #fff2a888}.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:twinkle 1.8s ease var(--delay) infinite}
@keyframes ladder-grow{0%,8%{clip-path:inset(100% 0 0 0)}65%,100%{clip-path:inset(0 0 0 0)}}@keyframes ladder-life{0%,100%{opacity:0}8%,86%{opacity:1}}@keyframes cloud-drift{from{transform:translateX(-12px)}to{transform:translateX(14px)}}
@media(prefers-reduced-motion:reduce){.scene img,.light-layer,.breeze-layer,.heaven-cloud,.sky-spark,.heaven-glow{animation:none!important}.ladder-reveal{animation:none;clip-path:inset(0)}.ladder-burst{animation:ladder-life 7.2s ease both}}

/* Keep the tail attached while the whole meadow gently moves. */
.sheep-scene{position:relative;animation:scene-breath 14s ease-in-out infinite alternate;transform-origin:center}
.scene-meadow .sheep-scene img{animation:none;transform:none}
.sheep-tail{position:absolute;left:5.14%;top:59.96%;width:1.3%;height:3.42%;transform-origin:50% 100%;animation:sheep-tail-wag 1.7s ease-in-out infinite;pointer-events:none}
.scene-meadow .sheep-tail img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;display:block}
@keyframes sheep-tail-wag{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.sheep-scene,.sheep-tail{animation:none!important}}

.sheep-tail-right{left:91.86%;top:72.56%;width:2.34%;height:5.76%;animation-delay:-.55s}

.scene-meadow .sheep-tail-right img{object-fit:fill}

/* Exact duplicate of the sheep pixels masks the tail behind the torso. */
.sheep-tail-right{z-index:1}
.scene-meadow .sheep-body-front{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:2;pointer-events:none;clip-path:none;-webkit-mask-image:url("/assets/jacob3-es/sheep-body-mask.svg");mask-image:url("/assets/jacob3-es/sheep-body-mask.svg");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:none;transform:none}

.draft-note{font-size:.9rem;color:var(--muted);padding:.7rem .9rem;border:1px dashed currentColor;border-radius:10px;margin-top:1rem}.sound-pending{opacity:.6;cursor:default}.tail-scene{position:relative;animation:scene-breath 14s ease-in-out infinite alternate;transform-origin:center}.scene .tail-scene img{animation:none!important;transform:none!important}.tail-scene>.tail-base{display:block;width:100%;height:auto}.tail-piece{position:absolute;pointer-events:none;transform-origin:50% 100%;animation:tail-swish 1.7s ease-in-out infinite}.scene .tail-piece img{width:100%;height:100%;aspect-ratio:auto;object-fit:fill;display:block}.scene .tail-body-front{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:2}.tail-piece{z-index:1}@keyframes tail-swish{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
.spotted-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none}.spotted-runner{position:absolute;top:var(--lane);width:var(--size);left:-140px;animation:sheep-cross var(--duration) linear var(--delay) both;filter:drop-shadow(0 4px 4px #0002)}.spotted-runner:nth-child(even){left:auto;right:-140px;animation-name:sheep-cross-back}.spotted-runner img{display:block;width:100%;height:auto;transform:scaleX(var(--flip));animation:sheep-bounce .42s ease-in-out infinite alternate}
@keyframes sheep-cross{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 280px))}}@keyframes sheep-cross-back{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 280px))}}@keyframes sheep-bounce{from{translate:0 0;rotate:-2deg}to{translate:0 -7px;rotate:2deg}}
@media(prefers-reduced-motion:reduce){.tail-scene,.tail-piece,.spotted-runner,.spotted-runner img{animation:none!important}.spotted-runner{left:calc(8% + var(--lane)/2);right:auto!important;opacity:.85}.spotted-burst{animation:ladder-life 6.2s ease both}}


.scene-01-announcement>img{animation:samson-breathe 12s ease-in-out infinite alternate}
.scene-04-baby>img{animation:samson-breathe 14s ease-in-out infinite alternate;transform-origin:50% 55%}
.altar-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#ffcc7045,transparent 65%);mix-blend-mode:screen;animation:samson-glow 3.5s ease-in-out infinite alternate}
@keyframes samson-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes samson-glow{from{opacity:.3}to{opacity:.85}}
.angel-burst{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#19254870,transparent);animation:angel-life 6.5s ease both}
.angel-glow{position:absolute;inset:15% 10% 5%;background:radial-gradient(ellipse at 50% 75%,#ffc75499,transparent 65%);animation:samson-glow 1.8s ease-in-out infinite alternate}
.rising-angel{position:absolute;left:50%;bottom:8%;width:min(54vw,310px);max-height:65vh;object-fit:contain;translate:-50% 0;filter:drop-shadow(0 0 18px #ffe5a8);animation:angel-rise 6.5s ease-in-out both}
.angel-spark{position:absolute;left:var(--x);bottom:10%;width:var(--s);height:var(--s);border-radius:50%;background:#ffe6a2;box-shadow:0 0 9px #ffc454;opacity:0;animation:angel-spark-rise 3s ease-out var(--delay) infinite}
@keyframes angel-rise{0%{transform:translateY(20vh);opacity:0}15%{opacity:1}75%{opacity:1}100%{transform:translateY(-40vh);opacity:0}}
@keyframes angel-spark-rise{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-60vh);opacity:0}}
@keyframes angel-life{0%,100%{opacity:0}12%,82%{opacity:1}}
@media(prefers-reduced-motion:reduce){.scene>img,.altar-glow,.rising-angel,.angel-spark,.angel-glow{animation:none!important}.rising-angel{opacity:1;transform:none}.angel-spark{opacity:.4}}
.angel-burst.reduced-motion .rising-angel,.angel-burst.reduced-motion .angel-spark,.angel-burst.reduced-motion .angel-glow{animation:none!important}.angel-burst.reduced-motion .rising-angel{opacity:1;transform:none}

/* Keep the restored full-body angel inside the phone viewport throughout ascent. */
.rising-angel{top:50%;bottom:auto;width:min(72vw,320px);height:min(58vh,480px);max-height:none;translate:-50% -50%;object-fit:contain}
@keyframes angel-rise{0%{transform:translateY(8vh);opacity:0}15%{opacity:1}75%{opacity:1}100%{transform:translateY(-8vh);opacity:0}}

/* Slow falling olive leaves, confined to the parents' prayer illustration. */
.parents-leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.parents-leaf-fall{position:absolute;top:0;left:var(--leaf-x);width:var(--leaf-size);height:100%;animation:parents-leaf-fall var(--leaf-duration) linear var(--leaf-delay) infinite;will-change:transform}
.scene .parents-leaf-image{position:absolute;top:0;left:0;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;opacity:.85;animation:parents-leaf-flutter 6s ease-in-out var(--leaf-delay) infinite alternate;transform-origin:50% 40%}
@keyframes parents-leaf-fall{0%{transform:translate3d(0,-12%,0);opacity:0}8%,88%{opacity:1}100%{transform:translate3d(var(--leaf-drift),110%,0);opacity:0}}
@keyframes parents-leaf-flutter{0%{transform:translateX(-12%) rotate(-30deg) scaleX(.85)}50%{transform:translateX(30%) rotate(25deg) scaleX(1)}100%{transform:translateX(-5%) rotate(70deg) scaleX(.7)}}
@media(prefers-reduced-motion:reduce){.parents-leaves{display:none}.parents-leaf-fall,.scene .parents-leaf-image{animation:none!important}}

.scene-02-prayer>img{animation:prayer-breathe 16s ease-in-out infinite alternate;transform-origin:50% 50%}
.scene-03-pillars>img{animation:stone-drift 18s ease-in-out infinite alternate}
@keyframes prayer-breathe{from{transform:scale(1.005)}to{transform:scale(1.03)}}
@keyframes stone-drift{from{transform:scale(1.005)}to{transform:scale(1.025)}}
.columns-burst{position:absolute;inset:0;background:#b3a08630;animation:columns-life 6s ease both;overflow:hidden}
.columns-glow{position:absolute;inset:10%;background:radial-gradient(ellipse,#efd8a660,transparent 65%)}
.column-sprite{position:absolute;top:15%;height:65vh;width:35vw;object-fit:contain;transform-origin:50% 92%;filter:drop-shadow(0 12px 10px #4b3d2630)}
.column-left{left:15%;animation:column-left-fall 6s ease-in-out both}
.column-right{right:15%;animation:column-right-fall 6s ease-in-out both}
@keyframes column-left-fall{0%,20%{transform:rotate(0)}28%{transform:rotate(-2deg)}35%{transform:rotate(1deg)}55%{transform:rotate(-18deg) translateY(2vh)}100%{transform:rotate(-68deg) translateY(25vh)}}
@keyframes column-right-fall{0%,20%{transform:rotate(0)}28%{transform:rotate(2deg)}35%{transform:rotate(-1deg)}55%{transform:rotate(18deg) translateY(2vh)}100%{transform:rotate(68deg) translateY(25vh)}}
@keyframes columns-life{0%,100%{opacity:0}12%,72%{opacity:1}}
@media(prefers-reduced-motion:reduce){.scene-02-prayer>img,.scene-03-pillars>img,.column-sprite{animation:none!important;transform:none!important}}
.columns-burst.reduced-motion .column-sprite{animation:none!important;transform:none!important}

/* Layered roof and column collapse; original still retained for reduced motion. */
.collapse-scene>img{animation:none!important;transform:none!important;opacity:0}
.collapse-layers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.collapse-layers .collapse-base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.collapse-layers .scene-column{position:absolute;top:-7%;width:35%;height:112%;object-fit:fill;z-index:2;transform-origin:50% 90%}
.scene-column-left{left:-2%;animation:scene-column-left 8s ease-in-out infinite}
.scene-column-right{right:-2%;animation:scene-column-right 8s ease-in-out infinite}
.collapse-layers .scene-roof{position:absolute;left:-3%;top:-18%;width:106%;height:50%;object-fit:fill;z-index:3;animation:scene-roof-fall 8s ease-in-out infinite}
.collapse-layers .falling-rubble{position:absolute;left:var(--rock-x);top:-7%;width:var(--rock-size);height:auto;object-fit:contain;z-index:4;animation:rubble-rain 8s ease-in var(--rock-delay) infinite}
.collapse-scene .dust-layer{z-index:5;animation:collapse-dust 8s ease-in-out infinite}
@keyframes scene-column-left{0%,30%,100%{transform:rotate(0);opacity:1}35%{transform:rotate(-1deg)}39%{transform:rotate(1deg)}65%{transform:rotate(-26deg) translateY(20%);opacity:.7}74%,88%{transform:rotate(-40deg) translateY(50%);opacity:0}92%{transform:rotate(0);opacity:0}}
@keyframes scene-column-right{0%,30%,100%{transform:rotate(0);opacity:1}35%{transform:rotate(1deg)}39%{transform:rotate(-1deg)}65%{transform:rotate(26deg) translateY(20%);opacity:.7}74%,88%{transform:rotate(40deg) translateY(50%);opacity:0}92%{transform:rotate(0);opacity:0}}
@keyframes scene-roof-fall{0%,30%,100%{transform:translateY(0) rotate(0);opacity:1}35%{transform:translateY(1%) rotate(-1deg)}39%{transform:translateY(0) rotate(1deg)}65%{transform:translateY(140%) rotate(5deg);opacity:.7}74%,88%{transform:translateY(200%) rotate(7deg);opacity:0}92%{transform:translateY(0);opacity:0}}
@keyframes rubble-rain{0%,31%{transform:translateY(0);opacity:0}36%{opacity:.85}67%{transform:translate(var(--rock-drift),250px) rotate(150deg);opacity:.8}74%,100%{transform:translate(var(--rock-drift),430px) rotate(210deg);opacity:0}}
@keyframes collapse-dust{0%,32%,100%{opacity:0}50%,72%{opacity:.8}90%{opacity:0}}
@media(prefers-reduced-motion:reduce){.collapse-scene>img{opacity:1!important}.collapse-layers,.collapse-scene .dust-layer{display:none!important}}
