 .gallery-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
     gap: 14px;
     margin-top: 14px;
 }

 .g-item {
     border: 1px solid rgba(255, 255, 255, .12);
     border-radius: 14px;
     overflow: hidden;
     background: rgba(255, 255, 255, .03);
     padding: 0;
     cursor: pointer;
 }

 .g-item img {
     width: 100%;
     height: 220px;
     object-fit: cover;
     display: block;
 }

 .lightbox {
     position: fixed;
     inset: 0;
     display: none;
     z-index: 9999;
 }

 .lightbox.open {
     display: block;
 }

 .lb-backdrop {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, .74);
     backdrop-filter: blur(4px);
 }

 .lb-shell {
     position: relative;
     max-width: 1100px;
     margin: 6vh auto 0;
     padding: 12px;
 }

 .lb-stage {
     background: rgba(0, 0, 0, .35);
     border: 1px solid rgba(255, 255, 255, .10);
     border-radius: 16px;
     overflow: hidden;
 }

 .lb-stage img {
     width: 100%;
     height: auto;
     display: block;
     max-height: 78vh;
     object-fit: contain;
     background: #000;
 }

 .lb-btn {
     position: absolute;
     top: 25px;
     border: 1px solid rgba(255, 255, 255, .18);
     background: rgba(0, 0, 0, .5);
     color: #fff;
     border-radius: 999px;
     padding: 8px 12px;
     cursor: pointer;
 }

 .lb-close {
     right: 25px;
 }

 .lb-prev {
     left: 20px;
     top: 50%;
     transform: translateY(-50%);
 }

 .lb-next {
     right: 20px;
     top: 50%;
     transform: translateY(-50%);
 }

 .lb-meta {
     margin-top: 10px;
     text-align: center;
 }

 .pagehead {
     margin: .5rem 0 1.25rem;
 }

 .pagehead__top {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: .75rem;
     margin-bottom: .6rem;
 }

 .backlink {
     display: inline-flex;
     align-items: center;
     gap: .35rem;
     text-decoration: none;
     color: inherit;
     opacity: .75;
     font-size: .95rem;
     line-height: 1.2;
     white-space: nowrap;
 }

 .backlink:hover {
     opacity: 1;
     text-decoration: underline;
 }

 .collection-card__thumb {
     aspect-ratio: 16/10;
     background: rgba(0, 0, 0, .06);
     position: relative;
     overflow: hidden;
 }

 .collection-card__thumb img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 .collection-card__title {
     padding: .8rem .9rem;
     font-weight: 600;
 }