/* One camera and one lighting setup for all podiums; products remain separate. */
.ap-collection{background:#a6def6!important;background-image:linear-gradient(180deg,#a6def6 0,transparent 15%),url('../assets/stage-scene/backdrop.png')!important;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important}
.ap-collection:after{inset:auto 0 -1px!important;width:100%!important;height:13%!important;border-radius:0!important;transform:none!important;background:linear-gradient(180deg,transparent,#fffdf7)!important}
.ap-stage{overflow:visible;isolation:isolate}
.ap-stage-card{--podium:27vw;width:var(--podium);max-width:none;height:42vw;bottom:2vw;transform:translateX(calc(var(--x) - 50%))}
.ap-stage-card a{position:relative;display:block;height:100%}
.ap-stage-card .ap-object{position:absolute;inset:0 0 3vw;transform:translateY(var(--rise)) scale(var(--scale));transform-origin:center bottom}
.ap-stage-card .ap-object .ap-plinth{position:absolute;left:0;bottom:calc(var(--podium)*-.097);width:100%;height:calc(var(--podium)*.6666667);transform:none;filter:none;background:url('../assets/stage-scene/podium-pink.png') center/100% 100% no-repeat;z-index:0;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M58 397 C58 88 1480 88 1480 397 L1480 640 C1480 950 58 950 58 640Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.ap-stage-card .ap-plinth-front,.ap-stage-card .ap-plinth-top{display:none}
.ap-stage-card[data-product='dm-bt-02'] .ap-object .ap-plinth{filter:grayscale(1) sepia(.8) saturate(1.4) brightness(1.05)}
.ap-stage-card[data-product='bj-ds001'] .ap-object .ap-plinth{filter:hue-rotate(222deg) saturate(.85) brightness(1.04)}
.ap-stage-card[data-product='dm-8036'] .ap-object .ap-plinth,.ap-stage-card[data-product='hb-818'] .ap-object .ap-plinth{filter:contrast(.92) brightness(1.08)}
.ap-stage-card .ap-object:before{content:'';position:absolute;left:5%;bottom:-2%;width:102%;height:12%;background:radial-gradient(ellipse,#76515c28,transparent 69%);transform:translateX(5%);filter:blur(5px);z-index:-1;pointer-events:none}
.ap-stage-card .ap-object:after{content:'';position:absolute;left:27%;bottom:calc(var(--podium)*.30);width:46%;height:9px;background:radial-gradient(ellipse,#5945484d,transparent 72%);border-radius:50%;filter:blur(2px);z-index:1;pointer-events:none}
.ap-stage-card .ap-object img{position:absolute;left:-10%;bottom:calc(var(--podium)*.286);width:120%;height:auto;max-height:none;max-width:none;aspect-ratio:1;object-fit:contain;transform:none;rotate:0deg;filter:drop-shadow(4px 5px 3px #63505b15);z-index:2;pointer-events:none}
.ap-stage-card .ap-object img[data-id='bj-ds001']{bottom:calc(var(--podium)*.265);rotate:7deg;transform-origin:center bottom}
.ap-stage-card .ap-object img[data-id='dm-8036']{bottom:calc(var(--podium)*.256)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{left:12%;bottom:calc(var(--podium)*.255);width:76%;height:calc(var(--podium)*.18);background:radial-gradient(ellipse 25% 12% at 35% 16%,#5945484d,transparent),radial-gradient(ellipse 20% 11% at 72% 88%,#5945484d,transparent);filter:blur(2px)}
.ap-stage-card[data-product='bj-ds001'] .ap-object:after{left:31%;width:38%;height:9px;bottom:calc(var(--podium)*.30)}
.ap-stage-name{bottom:0;font-weight:500;white-space:nowrap;text-shadow:none}
.ap-drag-hint{position:relative;z-index:2;background:transparent}
@media(min-width:761px){.ap-stage{height:44vw;max-height:900px;margin-top:-3vw}.ap-stage-name{font-size:1.4vw}.ap-collection-head{position:relative;z-index:5;pointer-events:none}.ap-stage-controls{pointer-events:auto}.ap-collection{padding-bottom:0}.ap-drag-hint{padding-top:0;padding-bottom:2vw}}
@media(max-width:760px){.ap-stage-card{--podium:225px;height:360px;bottom:25px}.ap-stage-card .ap-object{bottom:35px}.ap-stage{height:425px;margin-top:20px}.ap-stage-name{font-size:12px}.ap-collection{background-size:auto 100%!important}.ap-stage-card .ap-object:after{height:7px}.ap-stage-card[data-product='dm-8036'] .ap-object:after{height:42px}.ap-stage-card .ap-object:before{filter:blur(3px)}}

/* Backdrop and foreground share the carousel's damped position. */
.ap-collection{background-image:none!important}
.ap-scene-background{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ap-scene-background>span{position:absolute;inset:-4% -6%;background-image:url('../assets/stage-scene/backdrop.png');background-size:100% 100%;background-repeat:no-repeat;will-change:transform}
.ap-scene-background .ap-scene-far{mask-image:linear-gradient(#000 0 40%,transparent 54%);transform:translate3d(var(--far-pan,0px),0,0)}
.ap-scene-background .ap-scene-near{mask-image:linear-gradient(transparent 34%,#000 52%);transform:translate3d(var(--near-pan,0px),var(--near-rise,0px),0)}
.ap-scene-background .ap-scene-light{inset:42% -8% 0;background:radial-gradient(ellipse at var(--scene-light-x,50%) 70%,#fff4ce55,transparent 62%);mix-blend-mode:soft-light;will-change:auto}
.ap-scene-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#a6def6 0,transparent 16%)}
.ap-stage-card .ap-object:before{translate:var(--shadow-pan,0px) 0}
@media(prefers-reduced-motion:reduce){.ap-scene-background>span{transform:none!important;will-change:auto}.ap-stage-card .ap-object:before{translate:0 0}}

/* Reference calibration: shallow connected islands and grounded products. */
.ap-stage-card{--podium:26vw}
.ap-stage-card .ap-object .ap-plinth{height:calc(var(--podium)*.54);bottom:calc(var(--podium)*-.078);filter:saturate(.87) contrast(.9) brightness(1.06)}
.ap-stage-card .ap-object img{bottom:calc(var(--podium)*.222)}
.ap-stage-card .ap-object img[data-id='bj-ds001']{bottom:calc(var(--podium)*.201)}
.ap-stage-card .ap-object img[data-id='dm-8036']{bottom:calc(var(--podium)*.16)}
.ap-stage-card .ap-object:after{bottom:calc(var(--podium)*.242);height:7px;filter:blur(1px)}
.ap-stage-card[data-product='bj-ds001'] .ap-object:after{bottom:calc(var(--podium)*.236)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{bottom:calc(var(--podium)*.191)}
@media(max-width:760px){.ap-stage-card{--podium:225px}}

/* Shared shallow perspective: broad top, continuous vertical face. */
.ap-stage-card .ap-object .ap-plinth{height:calc(var(--podium)*.27);bottom:0;mask:none;background-image:url('../assets/stage-scene/island-pink.svg');filter:none!important}
.ap-stage-card[data-product='dm-bt-02'] .ap-object .ap-plinth{background-image:url('../assets/stage-scene/island-yellow.svg')}
.ap-stage-card[data-product='bj-ds001'] .ap-object .ap-plinth{background-image:url('../assets/stage-scene/island-blue.svg')}
.ap-stage-card .ap-object img{bottom:calc(var(--podium)*.169)}
.ap-stage-card .ap-object img[data-id='bj-ds001']{bottom:calc(var(--podium)*.148)}
.ap-stage-card .ap-object img[data-id='dm-8036']{bottom:calc(var(--podium)*.108)}
.ap-stage-card .ap-object:after{bottom:calc(var(--podium)*.184);height:6px;background:radial-gradient(ellipse,#71565445,transparent 70%)}
.ap-stage-card[data-product='bj-ds001'] .ap-object:after{bottom:calc(var(--podium)*.181)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{bottom:calc(var(--podium)*.137)}
.ap-stage-card .ap-object:before{left:3%;bottom:-5%;width:113%;height:13%;background:radial-gradient(ellipse,#76515c35,transparent 68%);filter:blur(5px)}

/* Contact calibration against the actual transparent product silhouettes. */
.ap-stage-card .ap-object img[data-id='dm-bt-02']{bottom:calc(var(--podium)*.15)}
.ap-stage-card[data-product='dm-bt-02'] .ap-object:after{left:29%;width:43%;bottom:calc(var(--podium)*.203);height:5px;filter:blur(1.5px)}
.ap-stage-card[data-product='hb-818'] .ap-object:after{left:28%;width:45%;bottom:calc(var(--podium)*.182);height:5px;filter:blur(1px)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{left:12%;width:76%;bottom:calc(var(--podium)*.16);height:calc(var(--podium)*.14);background:radial-gradient(ellipse 25% 10% at 35% 14%,#59454838,transparent),radial-gradient(ellipse 20% 10% at 72% 90%,#59454855,transparent);filter:blur(1px)}

/* Flat-mop material study: relit asset, local contact and directional floor shadow. */
.ap-product-shadow{display:none;pointer-events:none}
.ap-stage-card[data-product='dm-bt-02'] .ap-product-shadow{display:block;position:absolute;left:43%;bottom:calc(var(--podium)*.18);width:49%;height:calc(var(--podium)*.06);background:radial-gradient(ellipse at 30% 50%,#806c4555,transparent 72%);transform:rotate(-12deg) skewX(-28deg);transform-origin:left center;filter:blur(2px);z-index:1}
.ap-stage-card .ap-object img[data-id='dm-bt-02']{bottom:calc(var(--podium)*.145);filter:drop-shadow(2px 2px 1px #5c51431a)}
.ap-stage-card[data-product='dm-bt-02'] .ap-object:after{left:30%;width:42%;bottom:calc(var(--podium)*.178);height:5px;background:radial-gradient(ellipse,#66573f78,transparent 72%);filter:blur(1px)}

/* Self-review: consistent short shadows; shallow-camera bucket asset. */
.ap-stage-card .ap-object img[data-id='dm-8036']{width:105%;left:-2.5%;bottom:calc(var(--podium)*.16);filter:drop-shadow(2px 2px 1px #63505b18)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{left:13%;width:76%;bottom:calc(var(--podium)*.166);height:calc(var(--podium)*.11);background:radial-gradient(ellipse 38% 12% at 35% 12%,#59454866,transparent),radial-gradient(ellipse 23% 15% at 79% 88%,#59454866,transparent)}
.ap-stage-card .ap-product-shadow{display:block;position:absolute;left:43%;bottom:calc(var(--podium)*.16);width:43%;height:calc(var(--podium)*.045);background:radial-gradient(ellipse at 30% 50%,#806c4533,transparent 72%);transform:rotate(-8deg);transform-origin:left center;filter:blur(2px);z-index:1}
.ap-stage-card[data-product='dm-bt-02'] .ap-product-shadow{bottom:calc(var(--podium)*.158);width:40%;height:calc(var(--podium)*.04);transform:rotate(-8deg);background:radial-gradient(ellipse at 30% 50%,#806c4538,transparent 72%)}
.ap-stage-card[data-product='dm-8036'] .ap-product-shadow{left:27%;bottom:calc(var(--podium)*.17);width:65%;opacity:.7}
.ap-stage-card .ap-object img[data-id='bj-ds001']{filter:contrast(1.035) drop-shadow(2px 2px 1px #63505b1c)}

/* Responsive review: shared rhythm and clear product keyboard targets. */
.ap-stage-card a:focus-visible{outline:none}
.ap-stage-card a:focus-visible .ap-stage-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.ap-stage-controls button:focus-visible{outline:2px solid #243e80;outline-offset:4px}
@media(min-width:761px){.ap-body .ap-cooperation{padding-top:2.8vw}.ap-drag-hint{padding-bottom:1.5vw}}
@media(max-width:760px){.ap-body .ap-cooperation{padding-top:34px}.ap-drag-hint{padding-bottom:18px}}

/* Grounding correction: silhouette bottoms meet the top plane, not a detached halo. */
.ap-stage-card .ap-object img[data-id='dm-bt-02']{bottom:calc(var(--podium)*.12);filter:none}
.ap-stage-card .ap-object img[data-id='hb-818']{bottom:calc(var(--podium)*.144);filter:none}
.ap-stage-card .ap-object img[data-id='bj-ds001']{bottom:calc(var(--podium)*.125);filter:contrast(1.035)}
.ap-stage-card .ap-object img[data-id='dm-8036']{bottom:calc(var(--podium)*.145);filter:none}
.ap-stage-card .ap-object:after{z-index:1;filter:blur(.7px)}
.ap-stage-card[data-product='dm-bt-02'] .ap-object:after{left:29%;width:36%;bottom:calc(var(--podium)*.15);height:5px;transform:rotate(11deg);background:radial-gradient(ellipse,#514c3a9c,transparent 72%)}
.ap-stage-card[data-product='hb-818'] .ap-object:after{left:28%;width:43%;bottom:calc(var(--podium)*.155);height:6px;background:radial-gradient(ellipse,#55434b99,transparent 72%)}
.ap-stage-card[data-product='bj-ds001'] .ap-object:after{left:31%;width:34%;bottom:calc(var(--podium)*.155);height:5px;transform:rotate(6deg);background:radial-gradient(ellipse,#43556799,transparent 72%)}
.ap-stage-card[data-product='dm-8036'] .ap-object:after{bottom:calc(var(--podium)*.15)}
.ap-stage-card .ap-product-shadow{opacity:.4}
.ap-stage-card[data-product='dm-8036'] .ap-product-shadow{opacity:.35}

/* Contact shadow follows visible alpha edge, not the square image boundary. */
.ap-stage-card[data-product='dm-bt-02'] .ap-object:after{bottom:calc(var(--podium)*.175);height:4px}
.ap-stage-card[data-product='bj-ds001'] .ap-object:after{bottom:calc(var(--podium)*.176);height:4px}
.ap-stage-card[data-product='hb-818'] .ap-object:after{bottom:calc(var(--podium)*.166);height:4px}
.ap-stage-card .ap-product-shadow{opacity:.18}
.ap-stage-card[data-product='dm-8036'] .ap-product-shadow{opacity:.22}

/* Integrated flat-mop study: product, contact and podium share one lighting solution. */
.ap-stage-card[data-product='dm-bt-02'] .ap-object .ap-plinth,
.ap-stage-card[data-product='dm-bt-02'] .ap-object .ap-product-shadow,
.ap-stage-card[data-product='dm-bt-02'] .ap-object:after{display:none}
.ap-stage-card .ap-object img[data-id='dm-bt-02']{width:138%;left:-19%;bottom:calc(var(--podium)*-.016);filter:none;rotate:0deg;transform:none}

/* All four products are integrated product/podium compositions. */
.ap-stage-card .ap-object .ap-plinth,.ap-stage-card .ap-object .ap-product-shadow,.ap-stage-card .ap-object:after{display:none!important}
.ap-stage-card .ap-object img[data-id]{width:138%;left:-19%;bottom:calc(var(--podium)*-.016);filter:none;rotate:0deg;transform:none}
.ap-stage-card .ap-object img[data-id='hb-818']{width:153%;left:-26.5%;bottom:calc(var(--podium)*-.016)}
