/* One motion director per object. Typography remains a stable reading surface. */
.hero .cabinet{animation:none;transform-origin:50% 96%;box-shadow:9px 12px 0 #89937c,15px 22px 30px #243e2728,inset 0 1px 2px #fffff5}
.hero .cabinet:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#ffffff30,transparent 22%,transparent 76%,#53644e18);z-index:3}
.object-worker.craft-managed,.object-worker.craft-managed .worker-head{animation:none!important}
.craft-managed .worker-head{transform-box:fill-box;transform-origin:50% 95%}
.craft-managed .worker-head rect[fill="#27352d"]{transform-box:fill-box;transform-origin:center}
.worker-performance{transform-box:fill-box;transform-origin:50% 100%}
.craft-companion .mushroom-body,.craft-companion .plant-shoot,.craft-companion .plant-head,.craft-companion .duck-body,.craft-companion .duck-foot,.craft-companion .duck-wing,.craft-companion .sprite-eyes,.craft-companion .sprite-ground{animation:none!important}
.craft-companion .duck-body{transform-origin:32px 48px}
.work.ambient-running .question-notes{animation:none}
.work.ambient-running.lights-on .wire-signal{animation:none}
.team-story .wire-signal{opacity:.25}
.work.ambient-running.lights-on .team-payoff:before{animation:none;opacity:0}
.work.ambient-running.lights-on .team-payoff.signal-arrived:before{animation:payoff-signal 2.8s ease-in-out 1;opacity:0}
.scroll-gallery-flight:after{content:'';position:absolute;inset:2px;border-radius:14px;pointer-events:none;box-shadow:inset 1px 1px 0 #fff9,inset -1px -1px 0 #2a3d362a;opacity:calc(.3 + var(--flight-energy,0) * .7);z-index:6}
.scroll-gallery-flight .live-window{box-shadow:0 calc(10px + var(--flight-energy,0) * 22px) calc(22px + var(--flight-energy,0) * 28px) #233b2c30,0 2px 3px #233b2c25;transition:box-shadow .16s linear}
.scroll-gallery-stage .window-grip{background:linear-gradient(110deg,#eee9db,#f8f4e9 48%,#e8e1cf);box-shadow:inset 0 1px 0 #fff9}
.scroll-gallery-stage .window-grip:active{background:#dfd4b8}
.scroll-gallery-stage.has-browsed .scroll-gallery-rail-label:before{animation:none}
/* One chapter rule carries the Lodge into the career ledger. */
.career-origins.separated-origins{margin-bottom:0}
.career-origins.separated-origins .lodge-chapter{border-bottom:0}
/* The cabinet has weight; its original rotation and impact animation stay inside. */
.hero .play-object{transform:perspective(1400px) translate3d(var(--cabinet-tx,0px),var(--cabinet-ty,0px),0) rotateX(var(--cabinet-rx,0deg)) rotateY(var(--cabinet-ry,0deg));transform-origin:50% 60%}
.hero .play-object.cabinet-responding{will-change:transform}
.hero .cabinet:before{background:radial-gradient(ellipse at var(--cabinet-light-x,30%) var(--cabinet-light-y,20%),#fff9d73d,transparent 63%),linear-gradient(120deg,#ffffff20,transparent 22%,transparent 76%,#53644e18)}
/* Four inputs resolve into one little sheaf; the paragraph stays readable. */
.briefing-art{position:relative;width:224px;height:104px;margin:27px 0 0;pointer-events:none;perspective:650px}
.briefing-feed{position:absolute;left:0;top:21px;width:82px;height:60px}
.briefing-feed i{position:absolute;left:0;top:0;width:7px;height:7px;background:#e7c878;box-shadow:0 0 9px #ddc77955}
.briefing-feed i:nth-child(2){top:17px;left:12px;background:#9cbaa0}.briefing-feed i:nth-child(3){top:34px;left:3px;background:#c3917d}.briefing-feed i:nth-child(4){top:51px;left:17px;background:#a4b7ca}
.briefing-paper-stack{position:absolute;width:116px;height:90px;left:95px;top:4px;transform:rotate(-4deg);transform-style:preserve-3d}
.briefing-sheet{display:block;position:absolute;inset:0;border:1px solid #cabd96;border-radius:2px;background:#f1edd6;transform-origin:10% 85%;box-shadow:2px 5px 10px #0d201933}
.rear-sheet{transform:translate(9px,6px) rotate(7deg);background:#c8d7bd}.middle-sheet{transform:translate(4px,3px) rotate(3deg);background:#e0dcc3}
.front-sheet{padding:14px 14px 9px;background:linear-gradient(120deg,#fff9e5,#e6e0c5);box-shadow:inset 1px 1px 0 #fff9,2px 5px 12px #0d201947}
.front-sheet>b{display:block;background:#506b56;width:43%;height:5px;margin-bottom:10px}.front-sheet>i{display:block;width:92%;height:2px;background:#9aa58c;margin-top:4px;transform-origin:left}.front-sheet>i:nth-of-type(2){width:74%}.front-sheet>i:nth-of-type(3){width:83%}
.briefing-chart{position:absolute;left:14px;bottom:11px;display:flex;align-items:end;gap:5px;height:20px}.briefing-chart em{display:block;background:#758f79;width:9px;height:9px;transform-origin:bottom}.briefing-chart em:nth-child(2){height:16px;background:#c6a35d}.briefing-chart em:nth-child(3){height:12px}.briefing-chart em:nth-child(4){height:20px;background:#c1846c}
.briefing-check{position:absolute;right:12px;bottom:8px;color:#536e51;font-size:19px;font-weight:700;transform-origin:50% 75%}
.briefing-built .briefing-feed i{animation:briefing-packet 1.5s cubic-bezier(.4,0,.2,1) both;animation-delay:0s}.briefing-built .briefing-feed i:nth-child(2){animation-delay:.15s}.briefing-built .briefing-feed i:nth-child(3){animation-delay:.3s}.briefing-built .briefing-feed i:nth-child(4){animation-delay:.45s}
.briefing-built .briefing-paper-stack{animation:briefing-land 1.5s cubic-bezier(.22,.75,.25,1) both}
.briefing-built .front-sheet>i{animation:briefing-ink .65s ease-out both;animation-delay:.9s}.briefing-built .front-sheet>i:nth-of-type(2){animation-delay:1.1s}.briefing-built .front-sheet>i:nth-of-type(3){animation-delay:1.3s}
.briefing-built .briefing-chart em{animation:briefing-bars .9s cubic-bezier(.2,.8,.3,1.2) 1.5s both}.briefing-built .briefing-check{animation:briefing-stamp .7s cubic-bezier(.2,.8,.3,1.2) 2s both}
@keyframes briefing-packet{0%{opacity:.55;translate:-10px 0;scale:.7}22%{opacity:1;scale:1}84%{opacity:1;translate:92px 0}100%{opacity:0;translate:104px 0;scale:.5}}
@keyframes briefing-land{0%{transform:translateY(10px) rotate(-9deg) rotateX(22deg);opacity:.25}65%{transform:translateY(-2px) rotate(-3deg) rotateX(-3deg);opacity:1}100%{transform:rotate(-4deg)}}
@keyframes briefing-ink{from{scale:0 1}to{scale:1 1}}@keyframes briefing-bars{from{scale:1 .1}to{scale:1 1}}@keyframes briefing-stamp{0%{scale:1.8;opacity:0;rotate:-16deg}65%{scale:.9;opacity:1;rotate:3deg}100%{scale:1;opacity:1;rotate:0deg}}
@media(max-width:700px){.briefing-art{margin-top:20px;height:100px;width:210px}.briefing-paper-stack{left:85px}}
@media(prefers-reduced-motion:reduce){.hero .play-object{transform:none}.briefing-art *{animation:none!important}.briefing-feed{opacity:.4}}
@media(prefers-reduced-motion:reduce){.hero .cabinet{translate:none;rotate:none}.scroll-gallery-flight .live-window{transition:none}}
