/* Borderless 1920 × 1080 pages, with an optional 1920 × 2900 long page. */
#project-dialog.image-project{--project-page-gap:clamp(16px,2vw,32px);position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#e5e7eb;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;scroll-padding:0;overscroll-behavior:contain}
#project-dialog.image-project::-webkit-scrollbar{display:none}
.image-project #dialog-content,.image-project .project-slides{width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;display:block}
.image-project .project-slides{display:grid;gap:var(--project-page-gap)}
.image-project .project-slide{position:relative;display:block;width:100%;aspect-ratio:16/9;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;box-shadow:none;background:transparent}
.image-project .project-slide[data-page-size="long"]{aspect-ratio:1920/2900}
.image-project .project-slide img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:fill}
.image-project .project-video{background:#101310}
.project-video video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border:1px solid #ffffff80;border-radius:40px;background:#14251bdc;color:#fff;padding:16px 28px;font:600 18px/1.4 system-ui;cursor:pointer;box-shadow:0 8px 32px #0004}
.video-play:hover{background:#294f3b}.video-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.video-error{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);margin:0;padding:12px 20px;background:#17251fee;color:#fff;font:14px/1.5 system-ui;border-radius:8px}
.image-project .slide-controls{position:fixed;z-index:10;right:16px;top:16px;display:flex;align-items:center;gap:6px;padding:5px;border:1px solid #fff4;border-radius:40px;background:#222b27d9;backdrop-filter:blur(12px);color:#fff;opacity:0;pointer-events:none;transition:opacity .2s}
.image-project.controls-visible .slide-controls,.image-project .slide-controls:focus-within{opacity:1;pointer-events:auto}
.slide-controls button{border:0;background:transparent;color:inherit;border-radius:30px;padding:8px 12px;font:12px/1.3 system-ui;white-space:nowrap}
.slide-controls button:hover,.slide-controls button:focus-visible{background:#ffffff29}
.slide-controls .slide-counter{font:11px/1.3 monospace;padding:0 8px;white-space:nowrap}
.image-project .project-empty{height:100dvh;display:grid;place-items:center;color:#758071;font-size:16px}
.project-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.stack-card>img,.ribbon-card>img,.ribbon-card[data-project-key="zakkami"]>img{object-fit:fill;background:transparent}
.stack-card>span{display:none}
.ribbon-card{border-top:0}
@media(max-width:600px){.image-project .slide-controls{top:10px;right:10px;gap:1px;padding:3px}.slide-controls button{font-size:11px;padding:8px}.slide-controls .slide-counter{font-size:10px;padding:0 5px}}
@media(prefers-reduced-motion:reduce){.image-project .slide-controls{transition:none}}
