/* Static renders of the approved Three.js hardware; no live portfolio renderer. */
.wbh-stage2 .wbh-hardware-case { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); grid-template-areas:"intro media" "details media"; align-items:start; gap:1.25rem clamp(24px,3vw,44px); }
.wbh-hardware-intro { grid-area:intro; }
.wbh-hardware-intro p:last-child { margin-bottom:0; }
.wbh-hardware-details { grid-area:details; }
.wbh-hardware-details .build-facts { margin-top:0; }
.wbh-stage2 .wbh-hardware-case > .wbh-hardware-media { grid-area:media; min-width:0; width:100%; margin:0; padding:0; }
.wbh-hardware-viewer { width:100%; background:#080b0e; }
.wbh-hardware-viewer .rs14-preview-panels { min-height:0; padding:1rem; background:#080b0e; }
.wbh-hardware-viewer .rs14-preview-desktop { padding-top:0; }
.wbh-hardware-frame { position:relative; isolation:isolate; background:#080b0e; }
.wbh-hardware-laptop { aspect-ratio:1600 / 1000; }
.wbh-hardware-phone { aspect-ratio:768 / 1280; width:min(100%,300px); margin-inline:auto; }
.wbh-hardware-frame picture { display:block; position:relative; z-index:1; width:100%; height:100%; }
.wbh-hardware-viewer .wbh-hardware-frame img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.wbh-hardware-fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:2rem 1rem; text-align:center; color:#e5c98f; line-height:1.8; font-size:.9rem; }
.wbh-hardware-fallback small { font-size:.75rem; color:#bab9b0; }
.wbh-hardware-frame[data-asset-state="unavailable"] picture { visibility:hidden; }
.wbh-hardware-viewer .rs14-preview figcaption { font-size:.68rem; line-height:1.7; }
.wbh-hardware-viewer .rs14-preview figcaption a { font-size:.72rem; }
.wbh-hardware-viewer a,.wbh-hardware-viewer label { scroll-margin-block:100px 110px; }
.wbh-hardware-proof { color:#c6bda8; font-size:.69rem; line-height:1.7; padding:.9rem .2rem 0; }
@media(max-width:1100px) { .wbh-stage2 .wbh-hardware-case { grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "media" "details"; gap:1.5rem; } .wbh-hardware-intro { max-width:65ch; } .wbh-hardware-viewer .rs14-preview-panels { padding:1rem; } }
@media(max-width:600px) { #wbh-case-study > .container { width:calc(100% - 32px); } .wbh-stage2 .wbh-hardware-case { padding:16px; gap:1.25rem; } .wbh-hardware-viewer .rs14-preview-panels { padding:.55rem; } .wbh-hardware-viewer .rs14-view-toolbar { padding:.5rem; } .wbh-hardware-viewer .rs14-case-link { font-size:.64rem; } .wbh-hardware-viewer .rs14-preview figcaption { font-size:.64rem; } .wbh-hardware-viewer .rs14-preview figcaption a { font-size:.68rem; } .wbh-hardware-proof { font-size:.65rem; padding-top:.7rem; } }
