.project-gallery{min-width:0;margin-bottom:23px}
.gallery-cover{display:block;position:relative;width:100%;aspect-ratio:16/10;padding:0;overflow:hidden;border:1px solid #dde5ef;border-radius:10px;background:#edf2f8;cursor:zoom-in;text-align:left}
.gallery-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery-cover.media-contain img{object-fit:contain}
.gallery-cover.media-product{background:radial-gradient(ellipse at center,#fff 20%,#edf2f8 100%)}
.gallery-cover.media-product img{object-fit:contain;padding:25px}
.gallery-badge{position:absolute;right:11px;bottom:11px;display:flex;gap:7px;align-items:center;min-height:32px;border:1px solid #ffffff35;border-radius:7px;background:#102540e8;padding:5px 10px;color:#fff;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;backdrop-filter:blur(6px)}
.gallery-badge .ui-icon{width:16px;height:16px}
.gallery-caption{font-size:12px;line-height:1.6;color:#60738d;margin-top:9px}
.gallery-thumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.gallery-thumbs>button:not(.gallery-view-all){display:block;width:55px;height:43px;padding:0;border:1px solid #dbe4ee;border-radius:6px;overflow:hidden;background:#f0f4f8;cursor:zoom-in}
.gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-view-all{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:6px 4px;background:none;border:0;cursor:pointer;color:#245eea;font-size:12px;font-weight:600}
.project-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.portfolio-page .project-card.featured .gallery-caption{color:#bbcae1}
.portfolio-page .project-card.featured .gallery-view-all{color:#b9d0ff}
.portfolio-page .project-card.featured .gallery-cover,.portfolio-page .project-card.featured .gallery-thumbs>button{border-color:#ffffff25}
.project-gallery button:focus-visible{outline:3px solid #3972f3;outline-offset:4px}
.workshop-feature{padding:24px;background:#fff;border:1px solid #dde5f0;border-radius:16px;margin:0 0 22px;overflow:hidden}
.workshop-feature .gallery-cover{aspect-ratio:16/9}
.workshop-feature h3{font-size:24px;line-height:1.3;letter-spacing:-.03em;margin:12px 0}
.workshop-feature .detail-text{font-size:15px;line-height:1.8;color:#536780}
.workshop-feature .company{font-size:14px;line-height:1.65}
#nitium,#asset-tracker,#seal,#eva,#rfid-billboards,#imeche-workshop{scroll-margin-top:110px}
.gallery-open{overflow:hidden}
.portfolio-page #image-dialog{width:min(1100px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:0;border:1px solid #dce5ef;border-radius:15px;background:#fff;color:#102540;overflow:auto;margin:auto}
#image-dialog::backdrop{background:#071426dd;backdrop-filter:blur(5px)}
.image-dialog-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 38px)}
.image-dialog-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid #e5ebf4;flex-shrink:0;background:#fff}
.image-dialog-header h2{font-size:21px;line-height:1.35;margin:4px 0 0;letter-spacing:-.025em}
.image-dialog-header .small-label{font-size:10px}
#image-dialog .icon-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid #dce5ef;border-radius:10px;background:#f3f6fb;color:#102540;cursor:pointer}
#image-dialog .icon-button .ui-icon{width:20px;height:20px}
.image-stage{display:flex;align-items:center;justify-content:center;min-height:120px;flex:1 1 auto;overflow:hidden;background:#edf2f7;padding:14px}
.image-stage img{display:block;max-width:100%;max-height:calc(100dvh - 300px);width:auto;height:auto;object-fit:contain}
.image-stage img[hidden]{display:none}
#gallery-error{color:#536780;padding:40px 20px;text-align:center}
.image-dialog-footer{display:flex;gap:20px;align-items:flex-start;flex-shrink:0;padding:18px 22px;border-top:1px solid #e0e8f1;background:#fff}
.image-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}
.image-controls p{margin:0;min-width:44px;text-align:center;font-size:13px;color:#536780;font-variant-numeric:tabular-nums}
#image-dialog .gallery-previous .ui-icon{transform:rotate(90deg)}
#image-dialog .gallery-next .ui-icon{transform:rotate(-90deg)}
#image-dialog .icon-button[hidden]{display:none}
.image-caption{min-width:0}
.image-caption h3{font-size:16px;line-height:1.4;margin:0 0 5px}
.image-caption p{font-size:13px;line-height:1.6;margin:0;color:#536780}
.image-caption #gallery-source{font-size:12px;margin-top:5px}
#gallery-source a{color:#245eea;text-decoration:underline;text-underline-offset:3px}
@media(min-width:1000px){.portfolio-page .project-card.featured.with-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}.project-card.featured .project-gallery{margin-bottom:0}.project-card.featured .gallery-cover{aspect-ratio:4/3}.workshop-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:25px}.workshop-feature .project-gallery{margin:0}.workshop-copy{align-self:center}}
@media(hover:hover){.gallery-cover:hover img{transform:scale(1.025)}.gallery-thumbs>button:hover{border-color:#7398e7}.gallery-view-all:hover{text-decoration:underline}}
@media(max-width:620px){.project-gallery{margin-bottom:20px}.gallery-cover{aspect-ratio:16/10}.gallery-thumbs>button:not(.gallery-view-all){width:48px;height:40px}.workshop-feature{padding:18px;border-radius:13px}.workshop-feature h3{font-size:23px}.portfolio-page #image-dialog{width:100vw;max-height:100dvh;border:0;border-radius:0}.image-dialog-shell{max-height:100dvh}.image-dialog-header{padding:14px 16px}.image-dialog-header h2{font-size:17px}.image-dialog-header .small-label{font-size:10px}.image-stage{padding:8px}.image-stage img{max-height:calc(100dvh - 330px)}.image-dialog-footer{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));gap:10px;flex-direction:column}.image-controls{align-self:center}.image-caption h3{font-size:15px}.image-caption p{font-size:12px}.gallery-badge{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery-cover img{transition:none}}

#pprn-collaboration,#talks-interviews,#community-visits,#humanitarian-community,#university-visits{scroll-margin-top:110px}
#pprn-collaboration .gallery-cover{aspect-ratio:1536/1390;background:#f3f6fa}
.project-press{margin:2px 0 20px;padding:16px 18px;border:1px solid #dce5ef;border-left:3px solid #245eea;border-radius:9px;background:#f5f8fd}
.project-press .small-label{margin:0 0 8px}
.press-publication{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:4px;align-items:baseline;margin:0 0 8px;font-size:14px;line-height:1.5}
.press-publication span{font-size:12px;color:#60738d}
.press-summary{margin:0;font-size:14px;line-height:1.7;color:#536780}
