.project-gallery{margin:var(--space-10) 0;padding:0}.gallery-header{align-items:baseline;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-3)}.gallery-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.gallery-count{color:var(--color-text-tertiary,#94a3b8);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.gallery-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-item{aspect-ratio:16/10;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;opacity:0;overflow:hidden;position:relative;transition:border-color var(--transition-fast)}.gallery-item.loaded{opacity:1;transition:opacity .4s ease,border-color var(--transition-fast)}.gallery-item:hover{border-color:rgba(0,245,255,.4)}.gallery-image{display:block;height:100%;object-fit:cover;width:100%}.gallery-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--transition-fast)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay-content{color:#fff;text-align:center}.gallery-zoom-icon{font-size:var(--font-size-xl);margin-bottom:var(--space-1)}.gallery-overlay-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.gallery-info,.project-gallery:empty{display:none}@media (max-width:580px){.gallery-grid{gap:var(--space-3);grid-template-columns:1fr 1fr}}@media (max-width:380px){.gallery-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcnRmb2xpby1kZXRhaWwtZ2FsbGVyeS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsaUJBQ0ksd0JBQXlCLENBQ3pCLFNBR0osQ0FHQSxnQkFHSSxvQkFBcUIsQ0FHckIsMkNBQTRDLENBTDVDLFlBQWEsQ0FDYiw2QkFBOEIsQ0FFOUIsNEJBQTZCLENBQzdCLDZCQUVKLENBRUEsZUFFSSwrQkFBZ0MsQ0FEaEMsNkJBQThCLENBRzlCLHVDQUF3QyxDQUR4QyxRQUVKLENBRUEsZUFDSSx3Q0FBMEMsQ0FDMUMsNkJBQThCLENBQzlCLHFDQUNKLENBR0EsY0FDSSxZQUFhLENBRWIsa0JBQW1CLENBRG5CLHlEQUVKLENBR0EsY0FFSSxrQkFBbUIsQ0FJbkIsb0NBQXFDLENBQ3JDLG9DQUFxQyxDQUpyQyw4QkFBK0IsQ0FFL0IsY0FBZSxDQVFmLFNBQVUsQ0FUVixlQUFnQixDQUhoQixpQkFBa0IsQ0FPbEIsOENBQ0osQ0FNQSxxQkFDSSxTQUFVLENBQ1YsK0RBQ0osQ0FFQSxvQkFDSSwrQkFDSixDQUVBLGVBSUksYUFBYyxDQUZkLFdBQVksQ0FDWixnQkFBaUIsQ0FGakIsVUFNSixDQUdBLGlCQUtJLGtCQUFtQixDQUZuQix5QkFBOEIsQ0FDOUIsWUFBYSxDQUZiLE9BQVEsQ0FJUixzQkFBdUIsQ0FDdkIsU0FBVSxDQU5WLGlCQUFrQixDQU9sQix5Q0FDSixDQUVBLHFDQUNJLFNBQ0osQ0FFQSx5QkFFSSxVQUFjLENBRGQsaUJBRUosQ0FFQSxtQkFDSSw2QkFBOEIsQ0FDOUIsNEJBRUosQ0FFQSxzQkFDSSw2QkFBOEIsQ0FDOUIscUNBQ0osQ0FVQSxxQ0FDSSxZQUNKLENBR0EseUJBQ0ksY0FFSSxrQkFBbUIsQ0FEbkIsNkJBRUosQ0FDSixDQUVBLHlCQUNJLGNBQ0kseUJBQ0osQ0FDSiIsImZpbGUiOiJwb3J0Zm9saW8tZGV0YWlsLWdhbGxlcnkuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT0gUE9SVEZPTElPIERFVEFJTCAtIEdhbGxlcnkgKCMxMTMyIFJlZnJhbWUpID09PT09XG4gKiBSdWhpZ2UgU2NyZWVuc2hvdC1HYWxlcmllLiBLZWluZSBHbGFzc21vcnBoaXNtLVdyYXBwZXItQm94IG1laHIsXG4gKiBrZWluZSBIb3Zlci1BbmltYXRpb25lbiBtaXQgdHJhbnNsYXRlWSBvZGVyIFNjaGF0dGVuLUJ1cnN0cy5cbiAqIExpZ2h0Ym94LVN0eWxlcyBpbiBwb3J0Zm9saW8tZGV0YWlsLWxpZ2h0Ym94LmNzcy5cbiAqL1xuXG4ucHJvamVjdC1nYWxsZXJ5IHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTEwKSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogQmV3dXNzdCBrZWluIGJhY2tncm91bmQvYmx1ci9ib3JkZXIgbWVociAtIGRpZSBHYWxlcmllIHN0ZWh0XG4gICAgICogZGlyZWt0IGltIFNlaXRlbmluaGFsdCwgb2huZSBLYXN0ZW4gZHJ1bWhlcnVtLiAqL1xufVxuXG4vKiA9PT09PSBHYWxsZXJ5LUhlYWRlciA9PT09PSAqL1xuLmdhbGxlcnktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uZ2FsbGVyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uZ2FsbGVyeS1jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtdGVydGlhcnksICM5NGEzYjgpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLyogPT09PT0gR2FsbGVyeS1HcmlkID09PT09ICovXG4uZ2FsbGVyeS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4vKiA9PT09PSBHYWxsZXJ5LUl0ZW0gPT09PT0gKi9cbi5nYWxsZXJ5LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4vKiBJbml0aWFsLUZhZGUtSW4sIEVJTk1BTCBiZWltIExhZGVuIChuaWNodCBiZWkgSG92ZXItUmVwYWludCkuICovXG4uZ2FsbGVyeS1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLmdhbGxlcnktaXRlbS5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ2FsbGVyeS1pdGVtOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMjQ1LCAyNTUsIDAuNCk7XG59XG5cbi5nYWxsZXJ5LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogQmV3dXNzdCBLRUlOIHRyYW5zZm9ybS1zY2FsZSBIb3ZlciAtIGRhcyB3YXIgw7xiZXJ0cmllYmVuIGbDvHIgZWluZVxuICAgICAqIEIyQi1TZWl0ZS4gUnVoaWdlciBCb3JkZXItSGlnaGxpZ2h0IHJlaWNodC4gKi9cbn1cblxuLyogPT09PT0gT3ZlcmxheSAtIGRlemVudGVyIEtsaWNrLUhpbnQgPT09PT0gKi9cbi5nYWxsZXJ5LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ2FsbGVyeS1pdGVtOmhvdmVyIC5nYWxsZXJ5LW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5nYWxsZXJ5LW92ZXJsYXktY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZ2FsbGVyeS16b29tLWljb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbiAgICAvKiBLZWluIEhvdmVyLUJvdW5jZS9TY2FsZSBtZWhyLiAqL1xufVxuXG4uZ2FsbGVyeS1vdmVybGF5LXRleHQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLyogPT09PT0gRmlsZW5hbWUtVG9vbHRpcCAodmVyc3RlY2t0LCBmYWxscyBpcmdlbmR3YW5uIGdlYnJhdWNodCkgPT09PT0gKi9cbi5nYWxsZXJ5LWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogQmV3dXNzdCBhdXM6IHdhciBCb3R0b20tVG9vbHRpcCBtaXQgZWlnZW5lbSBHbGFzc21vcnBoaXNtLUxvb2ssXG4gICAgICogZGVtIE1pdHRlbHN0YW5kLUF1Z2UgenUgdmVyc3BpZWx0LiAqL1xufVxuXG4vKiA9PT09PSBFbXB0eS1TdGF0ZSAoZmFsbHMga2VpbmUgQmlsZGVyKSA9PT09PSAqL1xuLnByb2plY3QtZ2FsbGVyeTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT0gUmVzcG9uc2l2ZSA9PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgLmdhbGxlcnktZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzODBweCkge1xuICAgIC5nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG4iXX0= */