/* Project-derived SVG geometry, CSS transforms only; no rendering engine or frame loop. */
[data-theme=ember] .hero-art.cabinet-scene{height:530px;transform:none;pointer-events:auto;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#ffd19d2b,#6b2e2229);contain:layout paint}
.cabinet-glow{position:absolute;inset:5% 10% 15%;background:radial-gradient(ellipse,#ffe3ac65,transparent 67%);pointer-events:none}
.scene-heading{position:absolute;z-index:3;inset:22px 22px auto;display:flex;align-items:center;gap:8px;color:#ffefd5;font:8px/1.4 Arial,sans-serif;letter-spacing:1.4px}
.scene-dot{width:5px;height:5px;background:#ffedbc;border-radius:50%;box-shadow:0 0 0 4px #ffe8c01c}
.scene-heading>b{margin-left:auto;font-size:22px;letter-spacing:-1px;font-weight:400}.scene-heading small{font-size:7px;letter-spacing:1px}
.cabinet-scene .cabinet-svg{position:absolute;inset:20px 0 22px;width:100%;height:calc(100% - 42px);overflow:visible;stroke:none;fill:none;pointer-events:none}
.cabinet-part{animation:cabinet-assemble 16s cubic-bezier(.45,0,.25,1) infinite;animation-delay:var(--lag);transform:translate(0,0)}
.cabinet-scene[data-view=assembled] .cabinet-part{animation:none;transform:translate(0,0)}
.cabinet-scene[data-view=exploded] .cabinet-part{animation:none;transform:translate(var(--dx),var(--dy))}
.guide-float{position:absolute;right:14px;bottom:91px;width:222px;height:160px;perspective:800px;z-index:3;pointer-events:none;animation:guide-float 8s ease-in-out infinite alternate}
.guide-book{position:relative;width:222px;height:155px;transform-style:preserve-3d;transform:rotateX(28deg) rotateY(-16deg) rotateZ(9deg);filter:drop-shadow(8px 19px 10px #602e2040)}
.guide-board,.guide-leaf,.leaf-front,.leaf-back{position:absolute;width:111px;height:155px;transform-style:preserve-3d;box-sizing:border-box}
.guide-board{padding:12px 10px;color:#554936;border-radius:3px;background:#fff8e8;box-shadow:0 2px 0 #e1d6c3,0 4px 0 #ffefce,0 6px 0 #694a2c;overflow:hidden}
.guide-left{left:0;background:linear-gradient(90deg,#fbf2dc 85%,#ddd0b3);transform:rotateY(13deg);transform-origin:right center}
.guide-right{left:111px;background:linear-gradient(90deg,#e0d1b5,#fff8e8 16%);transform:rotateY(-9deg);transform-origin:left center}
.guide-wordmark{display:block;font:700 10px/1 Arial;letter-spacing:-.4px;color:#302b24;margin-bottom:8px}
.guide-kicker{display:block;font:4.5px/1.7 Arial;letter-spacing:.7px;color:#806e55}
.guide-board img,.leaf-back img{display:block;width:67px;height:85px;object-fit:contain;margin:3px auto}
.guide-board b,.guide-leaf b{display:block;font-size:7px;line-height:1.6;font-weight:500}
.guide-folio{position:absolute;left:10px;bottom:8px;font:4px/1 Arial;letter-spacing:.8px;color:#8a795e}
.guide-diagram{text-align:center;font:22px/1.05 Arial;margin:9px 0 7px;color:#a97641}.guide-diagram span{font-size:12px}
.guide-rule{height:1px;margin-top:6px;background:#cdbca0;width:85%}.guide-rule.short{width:60%;margin-top:4px}
.guide-board ol{font-size:4.8px;line-height:2;padding-left:10px;margin:7px 0 0}
.guide-leaf{left:111px;top:0;transform-origin:left center;animation:guide-page 12s ease-in-out infinite;transform:rotateY(-12deg)}
.leaf-front,.leaf-back{backface-visibility:hidden;padding:13px 10px;background:linear-gradient(90deg,#dfd2ba,#fff9ec 12%);box-shadow:1px 2px 1px #8c704a24;border-radius:2px;color:#5c4c36}
.leaf-back{transform:rotateY(180deg);background:#fff6e4}
.guide-cam{font:58px/1.3 Arial;text-align:center;color:#ac8157;margin-top:7px}
.guide-label{display:block;position:absolute;bottom:-23px;right:3px;font-size:9px;letter-spacing:.05em;color:#fff1d5}
.scene-controls{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:3px;align-items:center;padding:5px;border:1px solid #ffe4c063;border-radius:14px;background:#5d2b2036;backdrop-filter:blur(10px);white-space:nowrap;max-width:calc(100% - 24px)}
.scene-controls button{font:inherit;font-size:10px;line-height:1.6;padding:8px 10px;color:#ffeed7;background:transparent;border:0;border-radius:10px;cursor:pointer;min-height:34px}
.scene-controls button[aria-pressed=true]:not(#scene-pause){background:#fff3dd;color:#713c23;box-shadow:0 2px 6px #54221915}
.scene-controls #scene-pause{font-size:15px;min-width:33px;border-left:1px solid #ffdebb38;border-radius:0 9px 9px 0;padding:4px 8px}
.scene-controls button:focus-visible{outline:2px solid #fff5e3;outline-offset:2px}
.cabinet-scene[data-running=false] .cabinet-part,.cabinet-scene[data-running=false] .floating-hardware,.cabinet-scene[data-running=false] .guide-float,.cabinet-scene[data-running=false] .guide-leaf{animation-play-state:paused}
@keyframes cabinet-assemble{0%,14%,94%,100%{transform:translate(0,0)}43%,59%{transform:translate(var(--dx),var(--dy))}}
@keyframes hardware-drift{from{translate:0 -3px;rotate:-8deg}to{translate:3px 7px;rotate:5deg}}
@keyframes guide-float{from{translate:0 0}to{translate:0 -8px}}
@keyframes guide-page{0%,18%,100%{transform:rotateY(-12deg)}48%,66%{transform:rotateY(-151deg)}}
@media(max-width:760px){[data-theme=ember] .hero-art.cabinet-scene{height:410px;transform:none}.scene-heading{inset:17px 15px auto;font-size:6px;letter-spacing:.7px}.scene-heading>b{font-size:19px}.guide-float{scale:.74;transform-origin:right bottom;right:8px;bottom:73px}.hw-screw{width:31px;height:48px;left:6%}.hw-cam{width:35px;height:35px;right:9%}.hw-dowel{width:38px;height:29px;left:7%;bottom:22%}.scene-controls{bottom:13px;padding:4px;gap:1px}.scene-controls button{font-size:9px;padding:7px 8px}.cabinet-scene .cabinet-svg{inset:12px 0 35px;height:calc(100% - 47px)}}
@media(prefers-reduced-motion:reduce){.cabinet-scene .cabinet-part,.cabinet-scene .floating-hardware,.cabinet-scene .guide-float,.cabinet-scene .guide-leaf{animation:none!important}.guide-leaf{transform:rotateY(-130deg)}}

/* Real manual pages and restrained, project-derived hardware accents. */
.guide-float{width:250px;height:180px;right:10px;bottom:93px}
.guide-book{width:250px;height:177px;filter:drop-shadow(8px 18px 12px #602e2038)}
.guide-board,.guide-leaf,.leaf-front,.leaf-back{width:125px;height:177px;padding:0;background:#fff}
.guide-right,.guide-leaf{left:125px}.guide-left{background:#fff}
.guide-board img.manual-page,.guide-leaf img.manual-page{width:100%;height:100%;margin:0;object-fit:contain;display:block;opacity:1}
.guide-left:after,.guide-right:after,.leaf-front:after,.leaf-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#61431b15,transparent 16%)}
.guide-left:after{background:linear-gradient(270deg,#61431b22,transparent 15%)}
.guide-label{bottom:-22px}
.hero,.workflow-section,.ember-team,.ember-closing{position:relative;isolation:isolate}
.fitting-depth{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;border-radius:inherit}
.fitting-depth img{position:absolute;object-fit:contain;width:var(--size);height:var(--size);opacity:var(--opacity,.65);filter:blur(var(--blur,0px)) drop-shadow(8px 16px 8px #53362325);rotate:var(--angle,0deg);animation:fitting-depth-float 11s ease-in-out infinite alternate;animation-delay:var(--delay,0s);user-select:none}
.hero .hero-copy,.hero .cabinet-scene,.workflow-section>.section-head,.workflow-section>.workflow-cards,.ember-team>div:not(.fitting-depth),.ember-closing>:not(.fitting-depth){position:relative;z-index:1}
.accent-hero-near{--size:190px;--blur:2.3px;--opacity:.48;--angle:34deg;left:-112px;bottom:-24px}
.accent-hero-far{--size:106px;--blur:1.2px;--opacity:.6;--angle:-32deg;right:-30px;top:2px;--delay:-4s}
.accent-workflow{--size:120px;--blur:.25px;--opacity:.65;--angle:-15deg;right:23%;top:0;--delay:-3s}
.accent-team{--size:135px;--blur:.4px;--opacity:.6;--angle:18deg;left:42%;top:4px;--delay:-6s}
.accent-closing-near{--size:205px;--blur:2px;--opacity:.62;--angle:-27deg;left:4%;top:25%;--delay:-5s}
.accent-closing-far{--size:105px;--blur:1.5px;--opacity:.45;--angle:32deg;right:7%;top:17%;--delay:-8s}
[data-decor-running=false]>.fitting-depth img,.motion-paused .fitting-depth img{animation-play-state:paused}
@keyframes fitting-depth-float{from{translate:0 -4px}to{translate:3px 5px}}
@media(max-width:1100px){.accent-hero-near{left:auto;right:0;bottom:15px;--size:140px}.accent-workflow{right:12%;--size:100px}.accent-team{left:38%;--size:110px}.accent-closing-near{left:-70px}.accent-closing-far{right:-30px}}
@media(max-width:760px){.guide-float{scale:.67;right:5px;bottom:72px}.accent-hero-near{display:none}.accent-hero-far{--size:75px;--opacity:.35;right:-20px;top:4px}.accent-workflow{right:-21px;top:0;--size:74px;--opacity:.3}.accent-team{display:none}.accent-closing-near{--size:115px;--opacity:.3;left:-55px;top:0}.accent-closing-far{--size:75px;--opacity:.25;right:-36px;top:auto;bottom:0}}
@media(prefers-reduced-motion:reduce){.fitting-depth img{animation:none!important}}

/* Open composition: objects share the page background, with full silhouettes. */
[data-theme=ember] .hero-art.cabinet-scene{height:600px;max-width:none;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;contain:layout;transform:none}
.cabinet-scene .art-grid{display:none}
.cabinet-scene .cabinet-svg{transform:scale(1.25);transform-origin:50% 53%;inset:4px 0 30px;height:calc(100% - 34px)}
.cabinet-scene .cabinet-glow{inset:0 -6% 8%;background:radial-gradient(ellipse,#ffe3ac48,transparent 64%)}
.cabinet-scene .scene-heading{display:none}
.cabinet-scene .guide-float{scale:1.2;transform-origin:right bottom;right:0;bottom:93px}
.cabinet-scene .scene-controls{bottom:8px}
.fitting-depth{overflow:visible}
.accent-hero-near{--size:112px;left:2px;bottom:3px;--angle:28deg;--blur:1.6px}
.accent-hero-far{--size:96px;right:8px;top:5px;--angle:-24deg}
.accent-hero-hinge{--size:112px;--opacity:.7;--blur:.2px;--angle:14deg;right:1%;bottom:5px;--delay:-7s}
.accent-hero-dowel{--size:75px;--opacity:.5;--blur:1px;--angle:42deg;left:47%;top:8px;--delay:-2s}
[data-theme=ember] .workflow-section{padding-top:115px;padding-bottom:108px}
.accent-workflow{--size:102px;right:22%;top:2px}
.accent-workflow-minifix{--size:78px;--opacity:.62;--blur:.3px;--angle:35deg;left:7%;bottom:4px;--delay:-4s}
.accent-workflow-dowel{--size:84px;--opacity:.45;--blur:1.5px;--angle:-36deg;right:8%;bottom:5px;--delay:-8s}
.ember-team{padding-top:125px}
.accent-team{--size:108px;left:22%;top:4px}
.accent-team-screw{--size:90px;--opacity:.5;--blur:.7px;--angle:-34deg;right:10%;top:8px;--delay:-2s}
.accent-closing-near{left:4%;--size:185px}
.accent-closing-far{right:7%;--size:100px}
.accent-closing-bracket{--size:90px;--opacity:.5;--blur:.5px;--angle:18deg;right:13%;bottom:8px;--delay:-6s}
@media(min-width:1600px){[data-theme=ember] .hero-art.cabinet-scene{height:650px}.cabinet-scene .guide-float{scale:1.3;right:-2px;bottom:98px}.cabinet-scene .cabinet-svg{transform:scale(1.3)}.accent-hero-near{left:0;--size:128px}.accent-hero-far{right:0;--size:108px}}
@media(max-width:1100px){[data-theme=ember] .hero-art.cabinet-scene{height:620px;max-width:620px}.accent-hero-near{left:6px;right:auto;bottom:16px;--size:100px}.accent-hero-hinge{right:6px;--size:102px}.accent-hero-dowel{display:none}.accent-workflow{right:10%}.accent-team{left:15%}.accent-closing-near{left:8px;--size:125px}.accent-closing-far{right:12px;--size:80px}.accent-closing-bracket{right:10%;--size:75px}}
@media(max-width:760px){[data-theme=ember] .hero-art.cabinet-scene{height:470px;width:100%;transform:none}.cabinet-scene .cabinet-svg{transform:scale(1.12);inset:0 0 26px;height:calc(100% - 26px)}.cabinet-scene .guide-float{scale:.82;right:0;bottom:76px}.cabinet-scene .scene-heading{inset:0 5px auto}.cabinet-scene .scene-controls{bottom:0}.accent-hero-near{display:block;left:5px;bottom:4px;--size:62px;--opacity:.42}.accent-hero-far{display:none}.accent-hero-hinge{display:none}.accent-workflow{right:25px;top:5px;--size:70px;--opacity:.5}.accent-workflow-minifix{left:24px;bottom:7px;--size:65px}.accent-workflow-dowel{display:none}[data-theme=ember] .workflow-section{padding-top:92px;padding-bottom:87px}.ember-team{padding-top:95px}.accent-team{display:block;left:28px;top:5px;--size:78px;--opacity:.5}.accent-team-screw{display:none}.ember-closing{padding-top:112px;padding-bottom:107px}.accent-closing-near{left:24px;top:6px;--size:80px;--opacity:.4}.accent-closing-far{right:26px;top:auto;bottom:10px;--size:68px;--opacity:.4}.accent-closing-bracket{display:none}}
