/* Approved wood-cabinet printing treatment, integrated into the landing. */
.print-story{overflow-x:clip}
.print-visual{--machine-width:min(390px,calc((100svh - 255px)/1.535),32vw);--feed:1;--drop:0px;--tilt:-2.2deg;--curl:0deg;max-width:440px;width:100%;padding-top:0}
.print-visual .printer-stage{margin:0 auto}
.print-visual .printer-stage{--sheet-width:calc(var(--machine-width)*.63);--slot-y:calc(var(--machine-width)*.518);position:relative;width:var(--machine-width);height:calc(var(--machine-width)*1.535);perspective:1000px;isolation:isolate}.print-visual .stage-aura{position:absolute;inset:18% -19% 8%;border-radius:50%;background:radial-gradient(ellipse,#ead7b518,transparent 67%);filter:blur(18px)}.print-visual .wood-cabinet{position:absolute;top:0;left:0;width:100%;height:calc(var(--machine-width)*.647);filter:drop-shadow(0 24px 22px #0005);z-index:3}.print-visual .wood-face{position:absolute;inset:0;border-radius:calc(var(--machine-width)*.085) calc(var(--machine-width)*.085) calc(var(--machine-width)*.044) calc(var(--machine-width)*.044);background:#be8354 url("assets/wood-grain.svg") center/100% 100%;border:1px solid #e3b482;box-shadow:inset 0 1px 0 #f7d9a9,inset 3px 0 4px #f2bd8275,inset -4px 0 5px #74412880,inset 0 -7px 8px #7740214d,0 2px 0 #6d3c22,0 6px 0 #724022;overflow:hidden}.print-visual .wood-face:before{content:"";position:absolute;inset:6px;border-radius:inherit;border:1px solid #71381945;box-shadow:0 0 0 1px #f4c89243;pointer-events:none}.print-visual .wood-face:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(118deg,#ffd9a71b,transparent 46%,#5b2d1521);pointer-events:none}.print-visual .grain-light{position:absolute;inset:0;background:linear-gradient(90deg,#fff0 5%,#ffd2a128 28%,transparent 46%,#66381717 71%,#ffd8a31a 86%,transparent);mix-blend-mode:soft-light;pointer-events:none}.print-visual .wood-side{position:absolute;top:10%;bottom:1%;width:10px;background:linear-gradient(90deg,#734326,#ad7148 55%,#e2b179);border:1px solid #713f2390;border-radius:7px;z-index:-1;box-shadow:0 7px 0 #552d1c60}.print-visual .wood-side.left{left:-4px;transform:skewY(-3deg)}.print-visual .wood-side.right{right:-6px;transform:skewY(3deg)}.print-visual .camera-mount{position:absolute;width:calc(var(--machine-width)*.086);height:calc(var(--machine-width)*.086);left:50%;top:calc(var(--machine-width)*.055);transform:translateX(-50%);border-radius:50%;background:#9e6339;box-shadow:inset 0 1px 2px #61361c80,0 1px 1px #f3c898;padding:4px}.print-visual .camera{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#111d27 0 29%,#244355 30% 35%,#070d12 37% 55%,#1d1d1b 57% 66%,#070909 69%);box-shadow:0 0 0 1px #1d1814,inset 0 1px 1px #727677}.print-visual .camera i{position:absolute;width:6px;height:4px;background:#b2dae86b;border-radius:50%;top:9px;left:9px;transform:rotate(-35deg);filter:blur(.3px)}.print-visual .booth-display{position:absolute;width:52%;height:calc(var(--machine-width)*.252);top:calc(var(--machine-width)*.165);left:24%;background:linear-gradient(145deg,#152b36,#1d3440);border:calc(var(--machine-width)*.012) solid #22201a;border-radius:7px;box-shadow:0 1px 1px #edc799,inset 0 2px 7px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.print-visual .booth-display span{font-size:calc(var(--machine-width)*.017);letter-spacing:.19em;color:#d3bf9e;z-index:1}.print-visual .booth-display p{font:italic calc(var(--machine-width)*.057)/1.08 Georgia,serif;text-align:center;color:#f2e5d0;margin-top:calc(var(--machine-width)*.018);z-index:1}.print-visual .booth-display em{font-weight:400}.print-visual .display-rule{width:23px;height:1px;background:#d6c09f6b;margin-top:9px}.print-visual .display-glow{position:absolute;inset:0;background:linear-gradient(125deg,#ffffff13,transparent 37%);pointer-events:none}.print-visual .engraving{position:absolute;bottom:calc(var(--machine-width)*.034);left:calc(var(--machine-width)*.062);font-size:calc(var(--machine-width)*.019);letter-spacing:.16em;font-weight:650;color:#754522;text-shadow:0 1px #efc695b3;z-index:2}.print-visual .status-light{position:absolute;width:4px;height:4px;border-radius:50%;right:calc(var(--machine-width)*.063);bottom:calc(var(--machine-width)*.044);background:#cbe5b4;box-shadow:0 0 2px #383426,inset 0 0 1px white;z-index:2}.print-visual .printer-stage[data-phase="feeding"] .status-light{box-shadow:0 0 6px #d5efbe,inset 0 0 1px white;animation:wood-breath 1.5s ease-in-out infinite}.print-visual .output-well{position:absolute;width:72%;left:14%;height:calc(var(--machine-width)*.045);top:calc(var(--machine-width)*.499);background:#3a2416;border:1px solid #654024;border-bottom-color:#e3ad71;border-radius:7px;box-shadow:inset 0 5px 5px #050807,0 -1px 0 #734126,0 1px 0 #f5ce98b0;padding:4px 6px;z-index:4}.print-visual .output-slot{position:absolute;inset:4px 5px 3px;background:#070b0c;border-radius:3px;box-shadow:inset 0 3px 2px #000,0 1px 0 #ad7a5070}.print-visual .paper-path{position:absolute;left:-5%;width:110%;top:var(--slot-y);height:calc(var(--sheet-width)*1.5 + 57px);overflow:hidden;z-index:5;perspective:1000px}.print-visual .paper-drop{position:relative;width:var(--sheet-width);margin:0 auto;transform:translateY(calc((var(--feed) - 1)*100% + var(--drop))) rotateX(var(--curl)) rotateZ(var(--tilt));transform-origin:50% 0%;will-change:transform;filter:drop-shadow(0 14px 15px #0008)}.print-visual .photo-sheet{width:100%;background:#fcfaf5;padding:3px;position:relative;box-shadow:0 0 0 1px #eee7db}.print-visual .photo-sheet img{aspect-ratio:2/3;object-fit:contain;background:white}.print-visual .paper-sheen{position:absolute;inset:0;background:linear-gradient(98deg,#fff0 8%,#fff0 38%,#ffffff23 58%,#fff0 78%);pointer-events:none}.print-visual .slot-shadow{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:calc(var(--sheet-width) + 2px);height:13px;background:linear-gradient(#0009,#0003 35%,transparent);z-index:5;pointer-events:none;opacity:calc(1 - var(--feed)*.33)}.print-visual .printer-stage[data-phase="complete"] .slot-shadow{opacity:0;transition:opacity .2s}.print-visual .floor-shadow{position:absolute;bottom:calc(var(--machine-width)*.025);left:15%;width:70%;height:30px;border-radius:50%;background:#0008;filter:blur(15px);opacity:var(--feed);transform:scaleX(.9);z-index:1}
.print-visual .printer-stage{--slot-height:calc(var(--machine-width)*.045);--slot-y:calc(var(--machine-width)*.5215 + 1.5px)}
.print-visual .output-well{top:calc(var(--slot-y) - 1px - var(--slot-height)*.5);height:var(--slot-height)}
.print-visual .output-slot{top:50%;bottom:auto;left:5px;right:5px;height:calc(100% - 7px);transform:translateY(-50%)}
.print-visual .print-paper,.motion-ready .print-visual .print-paper{width:var(--sheet-width);margin:0 auto;transform:translateY(calc((var(--feed) - 1)*100% + var(--drop))) rotateX(var(--curl)) rotateZ(var(--tilt));clip-path:none;transform-origin:50% 0%;filter:drop-shadow(0 14px 15px #0008)}
.print-visual .print-paper figure{padding:3px;margin:0;background:#fcfaf5}
.print-visual .print-paper img,.motion-ready .print-visual .print-paper img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain}
.print-visual .print-paper figcaption{display:none}
.print-visual .booth-display p{margin:calc(var(--machine-width)*.018) 0 0;line-height:1.08}
.print-output-caption{min-height:22px;margin:10px 0 0;text-align:center;font-size:13px;color:#d2d8dc}
.print-visual .template-control{margin-top:14px}
.print-visual .template-control button{width:44px;height:44px;cursor:pointer}
.print-replay{display:block;margin:15px auto 0;padding:11px 22px;min-height:43px;border:1px solid #d2bc9950;border-radius:30px;background:#ead6b4;color:#223242;font:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #fff6,0 3px 12px #0002}
.print-replay:hover{background:#f8e3bd}
.print-replay:focus-visible,.print-visual .template-control button:focus-visible{outline:2px solid #d7bc93;outline-offset:4px}
.print-visual>.fine{font-size:12px;margin-top:17px;line-height:1.7}
.motion-ready .print-story{height:245svh;padding:0}
.motion-ready .print-sticky{padding-block:30px}
@keyframes wood-breath{50%{opacity:.5}}
@media(max-width:1100px) and (min-width:701px){.print-visual{--machine-width:min(350px,calc((100svh - 250px)/1.535),36vw)}}
@media(min-width:701px) and (max-height:819px){
 .print-visual{--machine-width:clamp(280px,28vw,350px)}
 .motion-ready .print-story{height:auto;padding:90px 0}
 .motion-ready .print-sticky{position:relative;height:auto;min-height:0;padding-block:0}
}
@media(max-width:700px){
 .print-visual,.motion-ready .print-visual{--machine-width:min(310px,82vw);max-width:340px;padding-top:0}
 .print-story,.motion-ready .print-story{height:auto;padding:70px 0}
 .print-sticky,.motion-ready .print-sticky{position:static;height:auto;min-height:0;padding-block:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:44px}
 .print-visual .printer-stage{height:calc(var(--machine-width)*1.53)}
 .print-visual .paper-path{height:calc(var(--sheet-width)*1.5 + 47px)}
 .print-visual .engraving{font-size:calc(var(--machine-width)*.023)}
 .print-visual .booth-display span{font-size:calc(var(--machine-width)*.019)}
 .print-visual .display-rule{margin-top:6px;width:18px}
 .print-visual .wood-face:before{inset:4px}
 .print-visual .output-well{padding:2px 4px;border-radius:5px}
 .print-visual .output-slot{left:4px;right:4px;height:calc(100% - 5px)}
 .print-visual .print-paper figure{padding:2px}
 .print-visual .camera-mount{padding:3px}
 .print-visual .camera i{top:6px;left:6px;width:4px;height:3px}
 .print-visual .status-light{width:3px;height:3px}
 .print-visual .wood-side{width:7px}
 .print-visual .wood-side.left{left:-3px}
 .print-visual .wood-side.right{right:-4px}
 .print-visual .floor-shadow{height:18px;filter:blur(10px)}
 .print-visual .template-control{margin-top:14px}
 .print-visual .template-control button{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce),(max-height:620px){
 .motion-ready .print-story{height:auto;padding:70px 0}
 .motion-ready .print-sticky{position:static;height:auto;min-height:0;padding-block:0}
 .print-visual .print-paper,.motion-ready .print-visual .print-paper{will-change:auto}
 .print-visual .status-light{animation:none!important}
 .print-replay{display:none}
}
