/* Rigid presentation box: matte cherry shell, fine champagne trim, ivory lining. */
.box-stage{aspect-ratio:1/1.08;--lid-angle:112deg;--box-scale:1;--box-yaw:-22deg;--interior-shade:.03;--cast-opacity:.38;--cast-scale:1;--lid-light:0}
.box-stage .ritual-edition{top:0;right:0;font-size:9px}
.box-perspective{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 40%;pointer-events:none}
.bakery-box{position:absolute;width:320px;height:230px;left:44%;top:64%;transform:translate(-50%,-50%) scale(var(--box-scale)) rotateX(48deg) rotateZ(var(--box-yaw));transform-style:preserve-3d}
.bakery-box>*{position:absolute;box-sizing:border-box}
.box-floor{inset:0;background:#c5ad8e;border:3px solid #d3b991;box-shadow:inset 0 0 25px #4d252b50}
.box-paper{inset:9px;transform:translateZ(10px);background:linear-gradient(154deg,transparent 45%,#bca88822 45.5%,#fff9ed77 46.2%,transparent 47%),linear-gradient(25deg,#ecdfc8,#faf4e8 60%,#e4d6bd);border:1px solid #fffaf0;border-radius:2px 9px 2px 7px;box-shadow:1px 3px 5px #38221b20}
.box-paper::after{content:"";position:absolute;inset:12px;border:1px solid #bda27d30}
.box-interior-shade{inset:4px;transform:translateZ(42px);background:linear-gradient(#1a0c0b88,#1a0c0b12);opacity:var(--interior-shade);pointer-events:none}
.box-rim{inset:-1px;transform:translateZ(70px);border:4px solid #642b39;box-shadow:inset 0 0 0 1px #d1af7855,0 0 0 1px #d1af7870;pointer-events:none}
.box-pastry{width:300px;height:190px;left:10px;top:14px;overflow:visible;transform:translateZ(32px);filter:drop-shadow(4px 9px 5px #5c2d1c75)}
.box-wall{background:linear-gradient(115deg,#622638,#411b29);border:1px solid #aa7d6055;backface-visibility:visible}
.box-front,.box-back{width:320px;height:70px;left:0;transform-origin:top}
.box-front{top:230px;transform:translateZ(70px) rotateX(-90deg);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#e3c99b;font:500 8px var(--sans);letter-spacing:2.1px;background:linear-gradient(105deg,#602735,#4b1e2c 75%);box-shadow:inset 0 3px 0 #d7b98566,inset 0 -3px 0 #240d1744}
.box-front::after{content:"";position:absolute;inset:8px;border:1px solid #d7b98525;pointer-events:none}
.box-seal{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;flex:none}
.box-back{top:0;transform:rotateX(90deg);background:linear-gradient(#d3bfa0,#e5d6bd)}
.box-left,.box-right{width:70px;height:230px;top:0;transform-origin:left}
.box-left{left:0;transform:rotateY(-90deg);background:linear-gradient(90deg,#3c1823,#602b39)}
.box-right{left:320px;transform:translateZ(70px) rotateY(90deg);background:linear-gradient(90deg,#6c3242,#4c1f2d)}
.box-lid{inset:0;transform-origin:center top;transform:translateZ(74px) rotateX(var(--lid-angle));transform-style:preserve-3d}
.lid-outer,.lid-inner{position:absolute;inset:0;border:1px solid #c9a776;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box}
.lid-outer{background:repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 3px),radial-gradient(ellipse at 10% 0,#803e4d,transparent 80%),#4d202e;color:#e8cd9b;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 5px #542532,inset 0 0 0 6px #c9a77688}
.lid-outer::before{content:"";position:absolute;inset:13px;border:1px solid #dbbc8145;pointer-events:none}
.lid-outer::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,#fff1d630,transparent);opacity:var(--lid-light);pointer-events:none}
.lid-outer .box-seal{width:36px;height:36px;margin-bottom:14px}
.lid-outer strong{font:500 42px/1 var(--serif);letter-spacing:-2.6px;text-shadow:0 1px 0 #fff0c040,0 -1px 0 #2b111acc}
.lid-small{font:500 7px var(--sans);letter-spacing:3.8px;margin-top:14px}
.lid-signature{position:absolute;bottom:25px;font:500 7px var(--sans);letter-spacing:.7px;color:#d4b58a}
.lid-inner{transform:rotateX(180deg) translateZ(4px);background:linear-gradient(135deg,#faf4e9,#e9ddc7);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#633141;text-align:center;box-shadow:inset 0 0 0 5px #d8c5a3,inset 0 0 0 6px #b79b6d88}
.lid-inner::after{content:"";position:absolute;inset:14px;border:1px solid #ad8e5c44;pointer-events:none}
.lid-inner .box-seal{width:23px;height:23px;margin-bottom:15px;color:#9e7b42}
.lid-inner>span{font:500 28px/1.12 var(--serif);letter-spacing:-1px}
.lid-inner>small{font:500 6px var(--sans);letter-spacing:2.2px;margin-top:20px;color:#8d6a45}
.lid-edge,.lid-edge-left,.lid-edge-right{position:absolute;background:linear-gradient(#d4b782,#8f6846);backface-visibility:visible}
.lid-edge{top:100%;left:0;width:100%;height:4px;transform-origin:top;transform:rotateX(-90deg)}
.lid-edge-left,.lid-edge-right{top:0;width:4px;height:100%;transform-origin:left;transform:rotateY(90deg)}
.lid-edge-left{left:0}.lid-edge-right{left:100%}
.box-shadow{position:absolute;left:9%;top:61%;width:72%;height:23%;border-radius:50%;background:#100805;opacity:var(--cast-opacity);filter:blur(15px);transform:rotate(-15deg) scale(var(--cast-scale))}
.box-toolbar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.box-toolbar[hidden]{display:none}.box-toolbar>span{font-size:11px;color:#ddc29f}
#box-toggle{border:1px solid #cbaa7466;color:#e9d2ad;background:#fff7eb06;border-radius:99px;min-height:44px;min-width:132px;padding:10px 17px;font:500 12px var(--sans);cursor:pointer;transition:background-color 200ms,color 200ms}
#box-toggle:hover{background:#e3c99b;color:#321b1c}#box-toggle:focus-visible{outline-color:#fff7eb}
.box-stage[data-moving=true] .box-lid{will-change:transform}
@media(max-width:800px){.box-stage{aspect-ratio:1/1.12}.ritual-visual{max-width:490px}.box-stage .ritual-edition{display:none}}
@media(max-width:560px){.box-stage{aspect-ratio:1/1.18}.box-toolbar>span{font-size:10px}#box-toggle{font-size:11px;padding-inline:14px;min-width:124px}.box-toolbar{left:-5px;right:-5px}}
@media(prefers-reduced-motion:reduce){.box-lid{transform:translateZ(74px) rotateX(112deg)!important}.box-interior-shade{opacity:.03}.box-shadow{opacity:.38;transform:rotate(-15deg)}}
