/* Frames follow the artwork; screenshots and certificates are never cropped. */
.image-gallery{display:flex;flex-direction:column;gap:28px;margin:30px 0 38px}
.image-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.image-row.is-single{grid-template-columns:minmax(0,1fr)}
.image-card{width:100%;max-width:var(--media-max-width,100%);margin:0 auto;min-width:0}
.image-row.row-square .image-card{max-width:460px}
.image-row.row-landscape.is-remainder .image-card{max-width:calc((100% - 24px)/2)}
.image-button{position:relative;width:100%;padding:0;border:1px solid #24292516;border-radius:5px;background:transparent;overflow:hidden;box-shadow:0 3px 12px #24292509;cursor:zoom-in;transition:box-shadow .2s,border-color .2s}
.image-button img,.image-gallery.single .image-button img,.honor .image-button img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none;transition:none}
.image-button:hover img{transform:none}
.image-button:hover,.image-button:focus-visible{border-color:#88967a;box-shadow:0 7px 24px #24292516}
.image-zoom-hint{position:absolute;right:10px;bottom:10px;border:1px solid #ffffff6b;border-radius:4px;background:#f9faf5f2;color:#242925;padding:6px 9px;font-size:11px;line-height:1.4;opacity:0;transform:translateY(3px);transition:opacity .18s,transform .18s;pointer-events:none}
.image-button:hover .image-zoom-hint,.image-button:focus-visible .image-zoom-hint{opacity:1;transform:none}
.image-card figcaption{margin-top:11px;padding-left:1px;font-size:12px;line-height:1.75;text-wrap:pretty}
.honors-collection{display:flex;flex-direction:column;gap:44px}
.honors-group{display:grid;gap:26px;align-items:start}
.honors-portrait{grid-template-columns:repeat(3,minmax(0,1fr))}
.honors-portrait .honor{width:100%;max-width:230px;justify-self:center}
.honors-landscape{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:32px;border-top:1px solid var(--line)}
.honor{min-width:0}
.honor h3{margin:16px 0 6px;font-size:17px;line-height:1.55;font-weight:500}
.honor p{font-size:12px;line-height:1.8;color:var(--muted)}
.lightbox{width:fit-content;min-width:min(440px,94vw);max-width:94vw;height:auto;max-height:94svh;padding:0;margin:auto;border:1px solid #ffffff6b;border-radius:10px;overflow:hidden;background:#fafbf8;box-shadow:0 24px 100px #0005}
.lightbox[open]{display:flex;flex-direction:column}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 18px;flex-shrink:0;border-bottom:1px solid var(--line)}
.lightbox-toolbar>span{font-size:10px;letter-spacing:1.1px;color:var(--muted);white-space:nowrap}
.lightbox-toolbar>div{display:flex;gap:8px;align-items:center}
.lightbox-toolbar button{border:0;background:transparent;padding:9px 10px;font-size:12px;border-radius:4px;white-space:nowrap}
.lightbox-toolbar button:hover{background:#e9eddf}
.lightbox-toolbar button:focus-visible{outline-offset:1px}
.lightbox-toolbar .lightbox-close{position:static}
#zoom-lightbox{background:#e9eddf}
.lightbox-stage{min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;scrollbar-width:thin}
.lightbox-stage:focus-visible{outline:2px solid #557b18;outline-offset:-3px}
.lightbox .lightbox-stage img{display:block;width:auto;height:auto;max-width:min(1180px,calc(94vw - 42px));max-height:calc(94svh - 154px);margin:auto;border-radius:2px}
.lightbox p{flex-shrink:0;max-width:100%;margin:0;padding:0 20px 17px;font-size:12px;line-height:1.7;color:var(--muted);text-wrap:pretty}
.lightbox.is-zoomed{width:min(1240px,94vw);height:94svh}
.lightbox.is-zoomed .lightbox-stage{flex:1}
.lightbox.is-zoomed .lightbox-stage img{max-width:none;max-height:none;margin:0 auto}
@media(max-width:760px){
  .image-row{gap:18px}
  .image-row.row-landscape{grid-template-columns:minmax(0,1fr)}
  .image-row.row-landscape.is-remainder .image-card{max-width:100%}
  .image-gallery{gap:24px}
  .honors-group{gap:22px}
  .honor h3{font-size:16px}
  .lightbox{max-width:96vw;min-width:0;width:fit-content;max-height:96svh}
  .lightbox-toolbar{gap:12px;padding:10px 12px}
  .lightbox-toolbar>span{font-size:9px;letter-spacing:.5px}
  .lightbox-stage{padding:14px}
  .lightbox .lightbox-stage img{max-width:calc(96vw - 30px);max-height:calc(96svh - 148px)}
  .lightbox.is-zoomed{width:96vw;height:96svh}
  .lightbox p{padding:0 14px 14px}
}
@media(max-width:520px){
  .honors-portrait{grid-template-columns:minmax(0,1fr);gap:32px}
  .honors-portrait .honor{max-width:232px}
  .honors-landscape{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:28px}
  .honors-collection{gap:32px}
  .image-row.row-portrait{gap:14px}
  .image-card figcaption{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.image-button,.image-zoom-hint{transition:none}}
