.project-body{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}
.project-gallery{min-width:0;outline-offset:6px}
.project-frame{background:#fff}
.project-frame img{aspect-ratio:3/2;object-fit:contain;cursor:zoom-in}
.project-image-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.process-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-heading,'Space Grotesk'),sans-serif;font-size:15px;color:var(--red);margin:0 0 12px}
.process-heading span{font-family:var(--font-body,'Inter'),sans-serif;font-size:12px;color:var(--ink)}
.process-stages{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.process-stages button{padding:7px 10px;border:1px solid var(--rule);background:transparent;color:var(--red);font:inherit;font-size:12px;min-height:36px}
.process-stages button[aria-pressed=true]{background:var(--red);color:var(--paper);border-color:var(--red)}
.gallery-toolbar{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:12px}
.gallery-enlarge{border:0;background:transparent;color:var(--red);font:inherit;text-decoration:underline;text-underline-offset:4px;padding:8px 0;min-height:44px}
.gallery-arrows{display:flex;gap:6px;margin-left:auto}
.gallery-arrows button,.viewer-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--red);font-size:28px;line-height:1}
.gallery-arrows button:hover,.gallery-thumbnails button:hover{background:var(--wash)}
.gallery-caption{padding:16px 0 14px;min-height:100px}
.image-stage{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.gallery-caption .image-title{font-family:var(--font-heading,'Space Grotesk'),sans-serif;font-size:18px;font-weight:500;line-height:1.35;margin:5px 0 7px;color:var(--red)}
.gallery-caption .image-description{font-size:13px;line-height:1.6;margin:0;max-width:65ch}
.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:5px 3px 10px;scrollbar-width:thin;scrollbar-color:var(--red) var(--wash)}
.gallery-thumbnails button{flex:0 0 88px;position:relative;padding:3px;border:1px solid var(--rule);background:transparent;color:var(--red);font:inherit}
.gallery-thumbnails button[aria-current=true]{outline:2px solid var(--red);outline-offset:0;background:var(--wash)}
.gallery-thumbnails img{display:block;width:80px;height:57px;object-fit:contain;background:#fff}
.gallery-thumbnails span{display:block;text-align:left;font-size:10px;padding:4px 2px 1px}
.project-viewer-open{overflow:hidden}
.project-viewer{width:min(1500px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;padding:0;border:1px solid var(--red);background:var(--paper);color:var(--ink)}
.project-viewer[open]{display:flex;flex-direction:column}
.project-viewer::backdrop{background:rgba(30,22,22,.83)}
.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--rule);flex:none}
.viewer-project{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--red)}
.viewer-header h2{font-family:var(--font-heading,'Space Grotesk'),sans-serif;font-size:20px;font-weight:500;line-height:1.3;margin:5px 0 0;color:var(--red)}
.viewer-header button{flex:none;width:44px;height:44px;border:1px solid var(--rule);color:var(--red);background:transparent;font-size:30px}
.viewer-viewport{flex:1;min-height:0;overflow:auto;background:#fff;display:grid;place-items:center;overscroll-behavior:contain}
.viewer-image{display:block;max-width:100%;max-height:calc(94dvh - 192px);width:auto;height:auto;object-fit:contain}
.is-zoomed .viewer-viewport{display:block}
.is-zoomed .viewer-image{max-width:none;max-height:none;margin:auto;cursor:grab}
.viewer-footer{display:flex;align-items:center;gap:20px;padding:12px 20px;flex:none;border-top:1px solid var(--rule);font-size:13px}
.viewer-footer button[data-viewer-zoom]{background:transparent;color:var(--red);border:1px solid var(--rule);padding:10px 14px;min-height:44px;font:inherit}
.viewer-original{color:var(--red);text-underline-offset:4px}
.viewer-arrows{display:flex;gap:8px;margin-left:auto}
@media(max-width:1050px){.project-body{grid-template-columns:1fr}.project-gallery{margin-top:6px}}
@media(max-width:740px){.process-stages button{min-height:44px}.project-frame img{aspect-ratio:4/3}.viewer-header{padding:12px}.viewer-header h2{font-size:16px}.viewer-footer{flex-wrap:wrap;gap:8px;padding:10px 12px}.viewer-original{font-size:11px}.viewer-image{max-height:calc(94dvh - 230px)}.gallery-caption{min-height:0}.gallery-thumbnails button{flex-basis:76px}.gallery-thumbnails img{width:68px;height:50px}}
@media(prefers-reduced-motion:reduce){.gallery-thumbnails{scroll-behavior:auto}}
