/* The light veil belongs in front of the real 3D neighbours. */
.stage-area .stage-edge-glow{position:absolute;top:0;bottom:20px;width:43%;pointer-events:none;z-index:3;opacity:1;transition:opacity .45s;background:radial-gradient(ellipse at 52% 50%,hsl(var(--theme-h,30) 55% 70%/.25),transparent 76%),linear-gradient(90deg,var(--bg,#0b0d11) 1%,hsl(var(--theme-h,30) 23% 11%/.82) 18%,hsl(var(--theme-h,30) 32% 28%/.30) 65%,transparent 100%)}
.stage-area .edge-left{left:0}.stage-area .edge-right{right:0;transform:scaleX(-1)}
.stage-area .carousel-arrows{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 4%;pointer-events:none;z-index:5}
.stage-area .carousel-arrows .circle-button{pointer-events:auto;width:44px;height:44px;border:1px solid hsl(var(--theme-h,30) 30% 75%/.34);background:hsl(var(--theme-h,30) 20% 13%/.7);backdrop-filter:blur(8px);box-shadow:0 0 35px hsl(var(--theme-h,30) 55% 70%/.09);color:var(--palette-text,#f4f1ec);transition:transform .25s,background .25s,border-color .25s}
.stage-area .carousel-arrows .circle-button:hover{transform:scale(1.09);background:hsl(var(--theme-h,30) 25% 25%/.85);border-color:#ffffff70}
.stage-area .carousel-arrows .circle-button:active{transform:scale(.95)}
.showroom:not(.is-detail) .stage-index{top:auto;bottom:29px;right:auto;left:50%;transform:translateX(-50%);writing-mode:horizontal-tb;font-size:9px;letter-spacing:2px;opacity:.6;z-index:4}
.stage-instruction{z-index:4}.stage-loading{position:absolute;inset:0;z-index:6;background:var(--bg);pointer-events:none}
.showroom.is-detail .stage-edge-glow,.showroom.is-detail .carousel-arrows,.stage-flight .stage-edge-glow,.stage-flight .carousel-arrows{opacity:0;visibility:hidden;pointer-events:none}
.stage-flight .stage-instruction,.stage-flight .stage-index{opacity:0}
#phone-stage[aria-busy=true]{cursor:progress}.webgl-fallback{padding:80px 24px;text-align:center;color:var(--palette-muted)}
@media(min-width:761px){.showroom:not(.is-detail) .model-bar{right:14%}.model-actions{margin-left:15px}.stage-area .carousel-arrows{padding:0 3%}}
@media(max-width:760px){.stage-area .carousel-arrows{padding:0 4%}.stage-area .carousel-arrows .circle-button{width:38px;height:38px}.stage-area .stage-edge-glow{width:26%}.showroom:not(.is-detail) .stage-index{bottom:30px}.showroom:not(.is-detail) .model-bar{justify-content:center;text-align:center}.model-label button{justify-content:center}.model-actions:empty{display:none}.model-actions{display:none}}
@media(prefers-reduced-motion:reduce){.stage-edge-glow,.circle-button{transition:none!important}}

.stage-edge-glow{mask-image:linear-gradient(transparent 0%,#000 19%,#000 82%,transparent 100%)}
@media(max-width:760px){.stage-area .stage-edge-glow{width:39%}}

.stage-area .stage-edge-glow{background:radial-gradient(ellipse at 48% 50%,hsl(var(--theme-h,30) 55% 73%/.38) 0%,hsl(var(--theme-h,30) 45% 55%/.16) 38%,transparent 75%);filter:blur(14px);width:44%}
@media(max-width:760px){.stage-area .stage-edge-glow{width:41%;filter:blur(9px)}}
/* Controls follow the model lane and clear the story column during scroll. */
.stage-area .carousel-arrows{padding:0!important}
.stage-area .carousel-arrows .circle-button{position:absolute;top:50%;transform:translateY(-50%)}
.stage-area .carousel-arrows #prev-model{left:var(--arrow-left-inset,3%)}
.stage-area .carousel-arrows #next-model{right:var(--arrow-right-inset,3%)}
.stage-area .carousel-arrows .circle-button:hover{transform:translateY(-50%) scale(1.09)}
.stage-area .carousel-arrows .circle-button:active{transform:translateY(-50%) scale(.95)}
.copy-morph{position:relative}
.copy-current{display:inline-block;vertical-align:top}
.copy-outgoing{position:absolute;left:0;top:0;display:inline-block;pointer-events:none;user-select:none}
#model-name,#model-color,#detail-color-name{display:inline-block}
#hero-price,#detail-price,.cart-total strong{font-variant-numeric:tabular-nums}
#story-highlights>.copy-current,#story-highlights>.copy-outgoing{display:flex;gap:inherit;width:100%}
#story-highlights>.copy-current{flex:1}
@media(prefers-reduced-motion:reduce){.copy-outgoing{display:none}}
