/* Image collections share the portfolio's violet strokes and quiet typography. */
.v61 .project-gallery{min-width:0;width:100%;margin:26px 0 32px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.v61 .gallery-toolbar .eyebrow{font-size:12px;color:var(--muted);margin:0}
.gallery-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.gallery-count,[data-viewer-count]{font:12px var(--mono,monospace);font-variant-numeric:tabular-nums;color:var(--muted);margin-right:8px;white-space:nowrap}
.gallery-controls button,.gallery-dialog-bar button{border:1px solid var(--capture-line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:20px;color:var(--text);background:var(--bg);flex-shrink:0}
.gallery-controls button:hover,.gallery-dialog-bar button:hover{color:var(--accent);border-color:var(--accent)}
.v61 .gallery-slide{margin:0 0 18px!important;min-width:0}
.gallery-enlarge{position:relative;display:block;width:100%;max-width:var(--gallery-media-width,100%);margin-inline:auto;padding:0;background:#120f1c;border:3px solid var(--capture-line);border-radius:var(--capture-radius);overflow:hidden;cursor:zoom-in;transition:border-color .2s}
.gallery-enlarge:hover{border-color:var(--accent)}
.v61 .gallery-slide .gallery-enlarge img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border:0;border-radius:0;margin:0;padding:0;background:transparent}
.gallery-expand-label{position:absolute;right:12px;bottom:12px;padding:8px 11px;background:#0e0c15ed;border:1px solid #6d557f;border-radius:7px;font-size:12px;color:#f2edf7;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.gallery-enlarge:hover .gallery-expand-label,.gallery-enlarge:focus-visible .gallery-expand-label{opacity:1;transform:none}
.gallery-preview-frame{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:var(--capture-radius);background:#0c0912;isolation:isolate}
.v61 .gallery-preview-frame>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;filter:blur(10px) brightness(.72);pointer-events:none}
.gallery-preview-label{z-index:1;padding:11px 17px;border-radius:12px;background:#08070db8;color:var(--text);font-size:14px;text-align:center;backdrop-filter:blur(12px)}
.gallery-preview-label small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.v61 .gallery-preview .gallery-thumb img{filter:blur(4px) brightness(.75);pointer-events:none}
.v61 .gallery-slide figcaption{padding:14px 0 0;max-width:75ch;margin:0;min-height:36px}
.gallery-prompt{margin-top:10px;color:var(--muted)}
.gallery-prompt summary{width:fit-content;min-height:44px;padding:12px 0;cursor:pointer;font-size:13px;color:var(--accent)}
.gallery-prompt summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.v61 .gallery-prompt p{font-size:14px;line-height:1.75;margin:4px 0 0;max-width:65ch;color:var(--muted)}
.gallery-filmstrip{position:relative;display:flex;gap:12px;overflow-x:auto;max-width:100%;padding:7px 3px 12px;scrollbar-width:thin;scrollbar-color:var(--capture-line) transparent}
.gallery-thumb{position:relative;flex:0 0 106px;width:106px;height:72px;border:2px solid var(--capture-line);border-radius:8px;padding:0;overflow:hidden;background:#191321;opacity:.58}
.gallery-thumb[aria-pressed=true]{border-color:var(--accent);opacity:1}
.gallery-thumb:hover{opacity:1}
.v61 .gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;background:transparent}
.gallery-thumb>span{position:absolute;right:0;bottom:0;font:10px var(--mono,monospace);color:var(--text);background:#0e0c15ed;padding:3px 6px;border-radius:5px 0 0 0}
.v61 .case-chapter:has(.project-gallery)>.chapter-body{margin-left:0}
.v61 .project-gallery.gallery-pending{display:block;margin:24px 0 0;padding:0;border:0;border-radius:0;background:none}
.v61 .gallery-pending p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}
.gallery-dialog{color:var(--text);background:var(--bg);width:min(1480px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 32px);border:2px solid var(--capture-line);border-radius:16px;padding:20px;overflow:auto}
.gallery-dialog::backdrop{background:#08060eef;backdrop-filter:blur(8px)}
.gallery-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.gallery-dialog-bar>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gallery-dialog-image{display:flex;justify-content:center;min-height:0}
.gallery-dialog-image img{display:block;max-width:100%;max-height:calc(100dvh - 235px);width:auto;height:auto;object-fit:contain;border:3px solid var(--capture-line);border-radius:12px}
.gallery-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px}
.gallery-dialog-footer p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:80ch}
.gallery-dialog-footer p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.model-work{scroll-margin-top:85px}
.model-work-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:35px}
.v61 .model-work-heading h2{font-size:34px;line-height:1.2;letter-spacing:-.035em;margin:0;font-weight:450}
.v61 .model-work-heading p{font-size:16px;line-height:1.75;max-width:49ch;margin:0;color:var(--muted)}
.image-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.image-model{min-width:0;padding:30px;border:2px solid var(--capture-line);border-radius:16px;background:linear-gradient(155deg,#7517f80c,transparent 55%)}
.image-model-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.model-size{font-size:76px;line-height:1;letter-spacing:-.075em;color:var(--text);font-weight:450}
.model-size small{font-size:.48em;margin-left:4px;color:var(--accent)}
.model-method{font-size:12px;max-width:12ch;text-align:right;line-height:1.5;color:var(--accent)}
.model-method:has(.model-status){max-width:none}
.model-status{display:inline-block;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);white-space:nowrap}
.v61 .image-model h3{font-size:27px;line-height:1.25;letter-spacing:-.035em;margin:0 0 17px;max-width:20ch;font-weight:450}
.v61 .image-model>p{font-size:16px;line-height:1.75;color:var(--muted);margin:0;min-height:84px}
.model-reference-spec{display:flex;align-items:center;gap:18px;border-top:1px solid var(--capture-line);padding:20px 0 0;margin-top:24px}
.model-reference-spec>strong{font-size:41px;line-height:1;font-weight:400;letter-spacing:-.06em;color:var(--accent)}
.model-reference-spec>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.model-reference-spec span{font-size:14px;color:var(--text)}
.model-reference-spec small{font-size:11px;line-height:1.5;color:var(--muted)}
.model-practice-flow{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1.2fr) 12px minmax(0,.85fr);align-items:center;gap:5px;margin:22px 0 0}
.model-flow-step{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;align-self:stretch;min-width:0;min-height:72px;padding:10px 5px;border-radius:8px;background:#ffffff05;text-align:center}
.model-flow-step>strong{font-size:14px;font-weight:500;line-height:1.3;color:var(--text)}
.model-flow-step>small{font-size:11px;line-height:1.4;color:var(--muted)}
.model-practice-flow>i{font-style:normal;color:var(--accent);line-height:1;font-size:15px;text-align:center}
.v61 .image-model .project-gallery{margin:26px 0 0}
.v61 .image-model :is(.gallery-enlarge,.gallery-preview-frame){aspect-ratio:19/13;width:100%;max-width:none;align-self:start}
.v61 .image-model .gallery-enlarge img{width:100%;height:100%;max-height:none;object-fit:contain}
.v61 .image-model .gallery-slide figcaption{font-size:13px;line-height:1.65}
.image-model .gallery-filmstrip{scroll-snap-type:x proximity}
.image-model .gallery-thumb{flex-basis:calc((100% - 36px)/4);width:calc((100% - 36px)/4);min-width:44px;scroll-snap-align:center}
/* Shared rows keep both galleries aligned, even when captions wrap differently. */
@media(min-width:761px){
 .image-models{row-gap:0}
 .image-model{display:grid;grid-template-rows:subgrid;grid-row:span 9;row-gap:0}
 .v61 .image-model .project-gallery{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
 .image-model .gallery-toolbar,.image-model .gallery-filmstrip,.image-model .gallery-prompts{align-self:start}
}
.v61 .image-model .gallery-pending{padding:22px;border:1px dashed var(--capture-line);border-radius:10px;background:none}
.studio-work{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}
.v61 .studio-work h3{font-size:26px;font-weight:450;letter-spacing:-.025em;line-height:1.3;margin:0}
.v61 .studio-work p{font-size:16px;line-height:1.75;margin:0;max-width:49ch;color:var(--muted)}
.studio-work code{font-size:.9em;color:var(--text);background:none;padding:0}
.v61 .studio-work .gallery-pending p{font-size:13px}
@media(max-width:760px){.studio-work{grid-template-columns:1fr;gap:18px;margin-top:34px;padding-top:28px}.v61 .studio-work h3{font-size:25px}.studio-work h3 br{display:none}}
@media(max-width:1000px){.image-models{gap:20px}.image-model{padding:23px}.model-work-heading{gap:32px}}
@media(max-width:760px){.gallery-toolbar{gap:10px}.gallery-controls{gap:6px}.gallery-controls button{width:44px;height:44px}.gallery-count{margin-right:2px}.v61 .gallery-toolbar .eyebrow{font-size:11px;max-width:12ch;line-height:1.5}.gallery-enlarge .gallery-expand-label{opacity:1;transform:none;font-size:10px;right:8px;bottom:8px;padding:6px 8px}.gallery-thumb{flex-basis:86px;width:86px;height:60px}.gallery-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:13px;border-radius:12px}.gallery-dialog-footer{align-items:flex-start;gap:16px;flex-direction:column}.gallery-dialog-footer .gallery-controls{width:100%;justify-content:flex-end}.gallery-dialog-footer p{font-size:13px}.gallery-dialog-image img{max-height:calc(100dvh - 285px)}.model-work-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.v61 .model-work-heading h2{font-size:30px}.v61 .model-work-heading p{font-size:16px}.image-models{grid-template-columns:1fr;gap:24px}.image-model{padding:24px}.model-size{font-size:68px}.v61 .image-model h3{font-size:25px}.v61 .image-model>p{min-height:0}}
@media(prefers-reduced-motion:reduce){.gallery-enlarge,.gallery-expand-label{transition:none}}
@media(max-width:380px){.image-model .gallery-toolbar{flex-wrap:wrap;gap:8px}.v61 .image-model .gallery-toolbar .eyebrow{flex-basis:100%;max-width:none}.image-model .gallery-controls{width:100%;justify-content:flex-end}.image-model .gallery-count{margin-right:auto}}
@media print{.gallery-controls,.gallery-filmstrip,.gallery-expand-label{display:none!important}.v61 .gallery-slide[hidden]{display:block!important}.gallery-slide{break-inside:avoid}}
