/* Keep the supplied model centered, with stage labels and captions around it. */
#B14 #truck .stick{top:var(--review-offset,70px);height:calc(100svh - var(--review-offset,70px));min-height:0;background:radial-gradient(ellipse at 12% 18%,#0F8E8010,transparent 62%),radial-gradient(ellipse at 90% 85%,#FB766414,transparent 60%),linear-gradient(145deg,#F4F4F2,#E9EEEC 55%,#F2EEEA)}
#B14 #truck .stick:after{display:none}
#B14 .stage3d{inset:0 0 220px}
#B14 .tcap{--caption-width:clamp(340px,28vw,420px);top:auto;bottom:7%;left:4%;width:var(--caption-width);max-width:calc(100% - 32px);transform:none;gap:10px;padding:24px;background:rgb(255 252 245 / .96);border:1px solid #08766A30;border-radius:12px;box-shadow:0 5px 24px #292D3310;backdrop-filter:blur(6px);z-index:4}
#B14 .tcap[data-position="upper-left"]{top:24%;bottom:auto;left:4%}
#B14 .tcap[data-position="lower-left"]{top:auto;bottom:7%;left:4%}
#B14 .tcap[data-position="upper-right"]{top:24%;bottom:auto;left:calc(100% - var(--caption-width) - max(100px,4vw))}
#B14 .tcap[data-position="lower-right"]{top:auto;bottom:7%;left:calc(100% - var(--caption-width) - max(100px,4vw))}
#B14 .tcap h2{font-size:clamp(34px,3vw,46px);line-height:1.15;margin:0}
#B14 .tcap h2 em{color:#08766A}
#B14 .tcap p{font-size:16px;line-height:1.6;margin:0;max-width:none;text-wrap:pretty}
#B14 .tcap .part{font-size:14px;line-height:1.5;color:#62615C}
#B14 .tcap .count{font-size:12px}
#B14 .tcap .truck-metaphor{font-size:10px;line-height:1.5}
#B14 .tcap .pill{max-width:100%;white-space:normal;font-size:12px;line-height:1.5;border-radius:8px;text-wrap:pretty}
#B14 .tcap.swap{animation:truck-caption-enter .3s ease both}
#B14 .tag3d{background:rgb(255 252 245 / .96);color:#08766A;border:1px solid #08766A40;border-radius:8px;box-shadow:0 2px 8px #292D3310;font-size:11px}
#B14 .spin3d{top:52%;bottom:auto;right:auto;left:calc(50% - 55px);transform:none;border-radius:12px;width:max-content;max-width:calc(100% - 32px);z-index:3}
@keyframes truck-caption-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1099px) and (min-width:901px){#B14 .tcap[data-position="upper-right"],#B14 .tcap[data-position="lower-right"]{left:calc(100% - var(--caption-width) - 4%)}}
@media(max-width:900px){
 #B14 .stage3d{inset:16px 0 320px}
 #B14 .tcap,#B14 .tcap[data-position]{top:auto;bottom:70px;left:16px;width:min(440px,calc(100% - 32px));padding:18px 20px;gap:7px}
 #B14 .tcap[data-position="upper-right"],#B14 .tcap[data-position="lower-right"]{left:calc(100% - min(440px,100% - 32px) - 16px)}
 #B14 .tcap h2{font-size:30px}#B14 .tcap p{font-size:15px;line-height:1.55}
 #B14 .tcap .part{font-size:13px}#B14 .tcap .truck-metaphor{font-size:10px}
 #B14 .spin3d{font-size:10px}
}
@media(prefers-reduced-motion:reduce){#B14 .tcap.swap{animation:none}}
@media(forced-colors:active){#B14 #truck .stick{background:Canvas}#B14 .tcap{background:Canvas;backdrop-filter:none;border-color:CanvasText;box-shadow:none}#B14 .bigword{color:CanvasText;text-shadow:none}}

/* Keep the longer personal invitation readable in the final caption. */
#B14 #truck[data-truck-stage="outro"] .tcap h2{font-size:34px;text-wrap:balance}
@media(max-width:700px){#B14 #truck[data-truck-stage="outro"] .tcap h2{font-size:28px}}

/* Mark the canvas boundary where the model ends and the lower frame begins. */
#B14 .stage3d::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#08766A66;z-index:2;pointer-events:none}
@media(forced-colors:active){#B14 .stage3d::after{background:CanvasText}}
