/* Give photos and WebGL the same explicit frame, including older imported projects. */
.portfolio-project .project-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.portfolio-project .project-media.no-model,.portfolio-project .project-media.photo-only{grid-template-columns:minmax(0,1fr)}
.portfolio-project .project-still,.portfolio-project .model-stage{position:relative;aspect-ratio:4/3;width:100%;height:auto;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;background:#e9eee1}
.portfolio-project .project-still>img,.portfolio-project .model-stage>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;object-fit:cover}
.portfolio-project .project-still>img[data-jv-auto-image]{object-fit:contain}
.portfolio-project .viewer-status{z-index:1;margin:0;bottom:12px;left:12px;right:12px}
.portfolio-project .model-stage>canvas[hidden]{display:none}
@media(max-width:767px){.portfolio-project .project-media{grid-template-columns:minmax(0,1fr)}}

.portfolio-project .project-media.model-only{grid-template-columns:minmax(0,1fr)}
.portfolio-project .project-media.model-only>.project-still{display:none}
.portfolio-project .model-stage{background:#f0f2f4}
.portfolio-project .model-only .model-stage{aspect-ratio:auto;height:clamp(320px,48vw,600px)}
.portfolio-project .viewer-status{color:#344252;background:rgba(255,255,255,.88);padding:8px 12px;border-radius:8px;width:fit-content;max-width:calc(100% - 24px);box-sizing:border-box;pointer-events:none}

/* Scanned geometry and finished CAD each keep their own orbit controls. */
.portfolio-project .project-media.dual-model{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-project .dual-model>.project-still{grid-column:1/-1;max-height:420px}
.portfolio-project .dual-model .model-stage{aspect-ratio:1;height:auto;min-height:300px}
.portfolio-project .model-label{position:absolute;z-index:2;top:16px;left:16px;padding:9px 14px;border:1px solid #d5dce2;border-radius:999px;background:#fff;color:#18232d;font-weight:600;font-size:14px;pointer-events:none}
.portfolio-project .dual-model .model-stage+.model-stage{border-left:1px solid #d5dce2}
@media(max-width:767px){
 .portfolio-project .project-media.dual-model{grid-template-columns:minmax(0,1fr)}
 .portfolio-project .dual-model .model-stage+.model-stage{border-left:0;border-top:1px solid #d5dce2}
}
