.physical-scene{position:absolute;z-index:4;opacity:0;pointer-events:none;will-change:opacity;overflow:visible}.physical-square{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);isolation:isolate}.physical-square>img,.physical-pickup,.physical-pickup>img,.physical-lift,.physical-lift>img,.physical-hand-front,.physical-hand-front>img,.physical-contact-shadow,.physical-contact-shadow>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.physical-sequence{z-index:1}.physical-pickup{z-index:2;opacity:0;isolation:isolate}.physical-bed{z-index:1}.physical-lift{z-index:2;transform-origin:53% 55%;will-change:transform}.physical-hand-rear{z-index:1;clip-path:polygon(0 0,100% 0,100% 47%,62% 47%,56% 57%,43% 86%,43% 100%,0 100%)}.physical-product{z-index:2}.physical-contact-shadow{z-index:3;opacity:0}.physical-hand-front{z-index:4}.physical-contact-shadow{mask-mode:alpha;mask-repeat:no-repeat;mask-position:center;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:100% 100%}.physical-hand,.physical-hand-rear{opacity:0;transform-origin:0 0;will-change:transform}.physical-hand,.physical-hand-shadow{clip-path:polygon(62% 47%,100% 47%,100% 100%,43% 100%,43% 86%,56% 57%)}.physical-hand-shadow{transform-origin:0 0;will-change:transform}.physical-coordinate{position:absolute;top:5%;left:5%;right:2%;display:flex;justify-content:space-between;z-index:5;color:#d9ccb7;opacity:.55;font-size:7px;line-height:1.8;letter-spacing:1.2px}.physical-material{font-size:6px;letter-spacing:1px}.physical-status{position:absolute;bottom:2%;left:10%;right:10%;display:flex;align-items:center;gap:9px;color:#e5d9c5;font-size:9px;letter-spacing:.3px;z-index:5;opacity:.75}.physical-status-dot{width:4px;height:4px;border-radius:50%;background:#dcf88e;box-shadow:0 0 9px #dcf88e45}.physical-percent{margin-left:auto;font-size:8px;letter-spacing:1px}.story-copy[data-story="4"] h2,.story-copy[data-story="5"] h2{font-size:clamp(58px,5.9vw,98px)}.physical-tag{display:inline-flex;align-items:center;gap:8px;margin-top:26px;padding:9px 12px;border:1px solid #f4e6ce33;border-radius:30px;font-size:8px;letter-spacing:.8px}.physical-tag>span{font-size:12px}.chapters button span{margin-right:6px}.chapters button{font-size:8px}@media(max-width:900px){.physical-coordinate{font-size:6px;top:0;left:1%;right:0}.physical-material{font-size:5px}.physical-status{font-size:8px;bottom:0;left:3%;right:3%}.story-copy[data-story="4"] h2,.story-copy[data-story="5"] h2{font-size:clamp(52px,8.7vw,77px)}.chapters button{font-size:7px}.chapters button span{margin-right:3px}}@media(max-width:600px){.physical-coordinate{font-size:5px;top:0;left:1%;right:0}.physical-material{font-size:4px}.physical-status{font-size:7px;bottom:0;left:3%;right:3%;gap:6px}.physical-percent{font-size:6px}.story-copy[data-story="4"] h2,.story-copy[data-story="5"] h2{font-size:12vw}.story-copy[data-story="4"] p,.story-copy[data-story="5"] p{font-size:10px;max-width:85%}.physical-tag{font-size:6px;padding:6px 9px;margin-top:16px;gap:5px}.physical-tag>span{font-size:10px}.chapters button{font-size:6px}.journey-bottom{grid-template-columns:1fr 28px;gap:8px}}

@media(max-width:600px){.physical-coordinate{display:none}}

@media(max-width:600px){.order-sticker{right:auto;left:1%;bottom:-6%;width:clamp(120px,31vw,145px)}}

/* Keep story navigation readable in every chapter and at phone widths. */
.journey-bottom{grid-template-columns:280px minmax(0,1fr) 56px;gap:30px;align-items:end}
.journey-bottom .story-transport{gap:16px;align-items:center}
.journey-bottom .story-transport button{font-size:12px;gap:10px}
.journey-bottom .story-transport button>span:first-child{width:34px;height:34px;font-size:10px;flex-shrink:0}
.journey-bottom .scroll-instruction{font-size:13px;line-height:1.4;opacity:.85;white-space:nowrap;max-width:none}
.journey-bottom .timeline{min-width:0;padding-top:14px}
.journey-bottom .chapters{gap:12px}
.journey-bottom .chapters button{font-size:13px;font-weight:500;line-height:1.4;opacity:.76;padding:6px 0;min-height:32px}
.journey-bottom .chapters button span{font-size:11px;margin-right:6px}
.journey-bottom .chapters button.active,.journey-bottom .chapters button:hover,.journey-bottom .chapters button:focus-visible{opacity:1}
.journey-bottom .chapters button.active{font-weight:650}
.journey-bottom .story-page{font-size:11px;padding-bottom:10px;letter-spacing:1px}
@media(max-width:1100px){
  .journey-bottom{grid-template-columns:minmax(0,1fr) 45px;gap:18px;bottom:32px}
  .journey-bottom .story-transport{position:absolute;left:0;bottom:calc(100% + 12px)}
  .journey-bottom .chapters button{font-size:12px}
  .journey-bottom .chapters button span{font-size:10px}
}
@media(max-width:600px){
  .journey-bottom{grid-template-columns:minmax(0,1fr) 28px;gap:10px;bottom:24px}
  .journey-bottom .story-transport{bottom:calc(100% + 10px);gap:16px}
  .journey-bottom .story-transport button{font-size:11px}
  .journey-bottom .story-transport button>span:first-child{width:30px;height:30px;font-size:9px}
  .journey-bottom .scroll-instruction{font-size:12px}
  .journey-bottom .timeline{padding-top:16px}
  .journey-bottom .chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:start}
  .journey-bottom .chapters button{font-size:12px;line-height:1.3;white-space:normal;text-align:left;padding:6px 0;min-height:54px}
  .journey-bottom .chapters button span{display:block;font-size:10px;line-height:1.2;letter-spacing:.5px;margin:0 0 4px}
  .journey-bottom .story-page{font-size:10px;line-height:1.5;padding-bottom:9px;letter-spacing:0}
  .physical-status{bottom:9%}
}
@media(max-width:360px){
  .journey-bottom .chapters{gap:4px}
  .journey-bottom .chapters button{font-size:11px}
}
@media(max-width:600px) and (max-height:740px){
  .physical-status{bottom:17%}
}
/* The articulated hand clips its depth passes in source UV space. */
.physical-lift>canvas,.physical-hand-front>canvas,.physical-contact-shadow>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.physical-scene[data-hand-rig] .physical-hand-rear,.physical-scene[data-hand-rig] .physical-hand,.physical-scene[data-hand-rig] .physical-hand-shadow{clip-path:none}
/* The cached continuation repeats source-scale skin along the arm axis.
   Placement is supplied by pickup-forearm.js; no texture is stretched. */
/* Transformed transparent bounds must not make the sticky stage scrollable. */
.stage{overflow:clip}
.physical-forearm{position:absolute;inset:0;width:100%;height:100%;z-index:1;transform-origin:0 0;opacity:0;visibility:hidden;pointer-events:none}
.physical-scene[data-forearm="ready"] .physical-forearm{visibility:visible}
