/* Recent project presentation, shared by home and portfolio. */
.project-image{position:relative;padding:0}
.project-image .project-cta{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:9px;background:var(--ivory);color:var(--charcoal);font-size:12px;line-height:1.4;padding:8px 11px;border-radius:2px;pointer-events:none}
.project-cta span{display:inline-block;transition:transform 250ms ease}
.project-image:hover .project-cta span,.project-image:focus-visible .project-cta span{transform:translate(2px,-2px)}
#portfolio-dialog{width:min(1100px,94vw);height:min(860px,92dvh);max-height:92dvh;padding:24px;overflow:hidden;box-sizing:border-box}
#portfolio-dialog[open]{display:flex;flex-direction:column;gap:14px}
#portfolio-dialog .dialog-top{flex:0 0 auto;margin:0;min-height:50px}
#portfolio-dialog .dialog-top h2{font-size:24px;margin:0 0 6px}
#portfolio-dialog .dialog-top p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.project-view-stage{flex:1 1 0;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);gap:16px;align-items:center;overflow:hidden}
#portfolio-dialog-image{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain;display:block}
.project-view-stage button,.image-controls button{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--charcoal);transition:background-color 250ms,color 250ms}
.project-view-stage button:hover,.image-controls button:hover{background:var(--charcoal);color:var(--ivory)}
.project-view-stage button:disabled{opacity:.3;cursor:default}
.gallery-thumbnails{display:flex;gap:8px;flex:0 0 48px;overflow-x:auto;overflow-y:hidden;max-width:100%;justify-content:flex-start}
.gallery-thumbnails button{flex:0 0 58px;height:44px;padding:2px;border:2px solid transparent;background:transparent}
.gallery-thumbnails button[aria-current=true]{border-color:var(--orange)}
.gallery-thumbnails img{width:100%;height:100%;object-fit:contain}
.image-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex:0 0 44px}
.image-controls[hidden],.gallery-thumbnails[hidden]{display:none}
.image-position,.project-position{font-size:12px;margin:0;text-align:center;color:var(--muted)}
.project-position{flex:0 0 auto}
body.viewer-open{overflow:hidden}
@media(max-width:760px){#portfolio-dialog{padding:14px;height:92dvh;max-height:92dvh}#portfolio-dialog[open]{gap:10px}.project-view-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}#portfolio-dialog .dialog-top h2{font-size:19px}.project-cta{font-size:11px}.dialog-top{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.project-image img,.project-cta span{transition:none}.project-image:hover img,.project-image:hover .project-cta span{transform:none}}
html[data-reduce-motion=true] .project-image img,html[data-reduce-motion=true] .project-cta span{transition:none;transform:none}
