/* GTM screenshot gallery. Original aspect ratios are always preserved. */
.project-gallery{margin-top:50px;padding-top:28px;border-top:1px solid var(--ink)}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:25px}
.gallery-heading h3{font-size:34px;margin-top:14px}
.gallery-heading>p{font-size:12px;color:var(--muted)}
.gallery-feature{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);border:1px solid var(--line);background:var(--white)}
.gallery-image-open{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;min-width:0;width:100%;height:430px;background:#1c211e;border:0;cursor:zoom-in}
.gallery-image-open>img{width:100%;height:100%;object-fit:contain;object-position:center;min-height:0}
.gallery-enlarge{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:28px;padding:12px 16px;background:var(--paper);color:var(--ink);font:10px monospace;box-shadow:0 1px 8px #0003}
.gallery-enlarge>span{font:22px/1 Arial}
.gallery-image-open:hover .gallery-enlarge{background:var(--accent);color:var(--white)}
.gallery-feature>figcaption{display:flex;flex-direction:column;padding:30px;min-width:0}
.gallery-caption-top{display:flex;align-items:start;gap:20px;justify-content:space-between;margin-bottom:44px}
.gallery-counter{font:12px monospace;color:var(--accent);white-space:nowrap}
.gallery-note{font:9px/1.5 monospace;color:var(--muted);max-width:120px;text-align:right}
.gallery-feature h4{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin-bottom:20px}
.gallery-feature figcaption>p{font-size:12px;color:#55564c;line-height:1.65}
.gallery-controls{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:30px}
.gallery-controls>button,.gallery-dialog button{width:44px;min-height:44px;background:transparent;border:1px solid var(--line);color:inherit;font:20px Arial}
.gallery-controls>button:hover,.gallery-dialog button:hover{border-color:var(--ink);background:#dcd8ce}
.gallery-controls>span{font:9px/1.5 monospace;color:var(--muted);margin-left:10px;max-width:90px}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px;padding:6px 0}
.gallery-thumb{padding:8px;background:transparent;border:1px solid var(--line);text-align:left;color:var(--ink);min-width:0}
.gallery-thumb[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.gallery-thumb:hover{border-color:var(--ink)}
.gallery-thumb-image{display:flex;align-items:center;justify-content:center;height:110px;background:#1c211e;padding:8px}
.gallery-thumb img{height:100%;width:100%;object-fit:contain;min-height:0}
.gallery-thumb-caption{display:flex;gap:12px;align-items:baseline;font-size:11px;padding:12px 3px 5px;line-height:1.4}
.gallery-thumb-caption>span{font:9px monospace;color:var(--accent)}
.gallery-footnote{font:9px/1.6 monospace;color:var(--muted);margin-top:13px}
.gallery-footnote a{text-decoration:underline;text-underline-offset:3px}
.gallery-dialog{width:min(1500px,96vw);max-width:none;max-height:95dvh;padding:20px;overflow:auto}
.gallery-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px}
.gallery-dialog-toolbar .eyebrow{font-size:8px;color:var(--muted)}
.gallery-dialog-toolbar h2{font-size:23px;letter-spacing:-.03em;margin-top:6px}
.gallery-dialog :is(#gallery-close, #dx-gallery-close){width:auto;padding:0 14px;font-size:12px;white-space:nowrap}
.gallery-dialog :is(#gallery-close, #dx-gallery-close) kbd{margin-left:16px;font-size:9px}
.gallery-dialog-stage{height:58vh;height:58dvh;overflow:auto;background:#1c211e;padding:12px;display:grid;align-items:center;justify-items:center}
.gallery-dialog-stage img{max-width:none;height:auto;min-height:0;display:block;flex-shrink:0}
.gallery-dialog-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:15px}
.gallery-dialog-navigation,.gallery-zoom-controls{display:flex;align-items:center;gap:9px}
.gallery-dialog-navigation>span{font:11px monospace;min-width:55px;text-align:center}
.gallery-zoom-controls :is(#gallery-zoom-reset, #dx-gallery-zoom-reset){width:62px;font:11px monospace}
.gallery-dialog :is(#gallery-dialog-caption, #dx-gallery-dialog-caption){font:11px/1.6 monospace;margin-top:15px;max-width:1000px}
.gallery-dialog-hint{font:9px monospace;color:var(--muted);margin-top:8px}
@media(max-width:1000px){.gallery-feature{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr)}.gallery-image-open{height:390px;padding:18px}.gallery-feature>figcaption{padding:22px}.gallery-feature h4{font-size:27px}.gallery-thumb-image{height:90px}}
@media(max-width:700px){.project-gallery{margin-top:35px;padding-top:25px}.gallery-heading{display:block;margin-bottom:20px}.gallery-heading h3{font-size:29px}.gallery-heading>p{font-size:11px;margin-top:15px}.gallery-feature{grid-template-columns:1fr}.gallery-image-open{height:290px;padding:14px}.gallery-enlarge{bottom:10px;left:10px;font-size:9px;padding:10px 12px;gap:15px}.gallery-enlarge>span{font-size:19px}.gallery-feature>figcaption{padding:23px}.gallery-caption-top{margin-bottom:22px}.gallery-note{max-width:none;font-size:8px}.gallery-feature h4{font-size:28px;margin-bottom:13px}.gallery-feature figcaption>p{font-size:12px}.gallery-controls{padding-top:20px}.gallery-controls>span{max-width:none}.gallery-thumbnails{grid-template-columns:repeat(5,minmax(136px,1fr));overflow-x:auto;gap:10px;padding:7px 3px 12px;scroll-snap-type:x mandatory}.gallery-thumb{scroll-snap-align:start;padding:6px}.gallery-thumb-image{height:85px;padding:6px}.gallery-thumb-caption{font-size:10px;gap:8px;padding-top:10px}.gallery-footnote{font-size:8px}.gallery-dialog{padding:12px;max-height:96dvh}.gallery-dialog-toolbar{gap:12px;margin-bottom:13px}.gallery-dialog-toolbar h2{font-size:19px;max-width:220px;line-height:1.1}.gallery-dialog-toolbar .eyebrow{font-size:7px}.gallery-dialog :is(#gallery-close, #dx-gallery-close){padding:0 10px;font-size:11px}.gallery-dialog :is(#gallery-close, #dx-gallery-close) kbd{display:none}.gallery-dialog-stage{height:50vh;height:50dvh}.gallery-dialog-bottom{gap:12px}.gallery-dialog-navigation,.gallery-zoom-controls{gap:5px}.gallery-dialog-navigation>span{min-width:42px;font-size:10px}.gallery-dialog button{width:40px;min-height:44px}.gallery-zoom-controls :is(#gallery-zoom-reset, #dx-gallery-zoom-reset){width:52px;font-size:10px}.gallery-dialog :is(#gallery-dialog-caption, #dx-gallery-dialog-caption){font-size:9px}.gallery-dialog-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gallery-thumbnails{scroll-behavior:auto}}
