/* Keep the live design in view while the mobile controls scroll beneath it.
   Contents lets the sticky preview use the whole configurator as its boundary. */
@media screen and (max-width:760px){
 .config-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;--config-nav-height:73px;--config-preview-height:300px}
 .preview-column{display:contents}
 .preview-live{grid-row:1;position:sticky;top:var(--config-nav-height);z-index:20;background:var(--sage);padding:10px 12px 9px;border-bottom:1px solid var(--line);box-shadow:0 7px 14px rgba(71,46,59,.08)}
 .preview-live .preview-tabs{margin:0 0 7px}
 .preview-live .preview-tabs button{min-height:40px;padding:7px 4px;font-size:13px}
 .preview-live .preview-stage{height:clamp(155px,26svh,230px)}
 .preview-live .preview-pill{left:10px;top:8px;font-size:12px;pointer-events:none}
 .preview-live .preview-caption{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:5px}
 .preview-live .preview-caption p{font-size:12px;line-height:1.35;max-width:62%}
 .preview-live .preview-caption .text-link{font-size:12px;line-height:1.35;min-height:36px;padding-block:3px;text-align:right}
 .config-panel{grid-row:2;scroll-margin-top:calc(var(--config-preview-height) + 10px);padding-top:23px}
 .config-panel :is(button,input,select,summary){scroll-margin-top:calc(var(--config-preview-height) + 15px)}
 .preview-details{grid-row:3;background:var(--sage);padding:20px;border-top:1px solid var(--line)}
 .preview-details .preview-disclaimer{margin-top:0}
}
@media screen and (max-width:760px) and (max-height:500px){
 .preview-live{display:grid;grid-template-columns:minmax(120px,.85fr) 1fr;column-gap:10px;padding-block:6px}
 .preview-live .preview-stage{grid-row:1/3;grid-column:1;height:115px}
 .preview-live .preview-tabs{grid-column:2;align-self:start;margin-bottom:0}
 .preview-live .preview-caption{grid-column:2;display:block;align-self:end;margin-top:3px}
 .preview-live .preview-caption p{max-width:none}
 .preview-live .preview-caption .text-link{text-align:left}
 .preview-live .preview-pill{display:none}
}

/* The curved, photograph-textured door surfaces hinge in the fixed camera plane. */
.scene-open-interior,.scene-open-final,.scene-door-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;opacity:0}
.scene-open-interior{clip-path:inset(0 39.5% 13% 42.1%)}
.scene-open-final{clip-path:inset(0 34.5% 12% 37.5%);mask-image:linear-gradient(to right,transparent 37.5%,#000 38.7%,#000 64.3%,transparent 65.5%)}
@media(prefers-reduced-motion:no-preference){.build-story{height:calc(var(--story-vh)*3.5)}}
