.gallery-page{max-width:1400px;min-height:100vh;margin:0 auto;padding:120px 5% 60px}.gallery-header{text-align:center;margin-bottom:60px}.gallery-title{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(2.5rem,5vw,4rem);font-weight:800}.gallery-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6}.gallery-empty{text-align:center;background:rgba(var(--foreground-rgb),.02);border:1px dashed rgba(var(--foreground-rgb),.1);color:var(--text-secondary);border-radius:12px;padding:60px 20px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:300px;grid-auto-flow:dense;gap:24px;display:grid}.gallery-item{cursor:pointer;background:rgba(var(--foreground-rgb),.05);border-radius:16px;position:relative;overflow:hidden}.gallery-item.span-2{grid-column:span 2}.gallery-item.span-row-2{grid-row:span 2}.image-wrapper{width:100%;height:100%;position:relative}.image-overlay{opacity:0;background:linear-gradient(#0000 0%,#0003 50%,#000c 100%);align-items:flex-end;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .image-overlay{opacity:1}.gallery-item:hover .image-wrapper img{transition:transform .5s;transform:scale(1.05)}.image-wrapper img{transition:transform .5s}.overlay-content{color:#fff;flex-direction:column;gap:8px;transition:transform .3s;display:flex;transform:translateY(20px)}.gallery-item:hover .overlay-content{transform:translateY(0)}.overlay-content span{font-size:1.2rem;font-weight:600}.lightbox-overlay{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox-content{background:#000;border-radius:12px;flex-direction:column;width:100%;max-width:1200px;height:90vh;display:flex;position:relative;overflow:hidden}.lightbox-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#fff3}.lightbox-image-container{flex:1;width:100%;height:100%;padding:20px;position:relative}.lightbox-caption{text-align:center;color:#fff;background:#00000080;border-top:1px solid #ffffff1a;padding:20px}.lightbox-caption h3{margin:0;font-size:1.2rem;font-weight:500}@media (max-width:768px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item.span-2{grid-column:span 1}.lightbox-overlay{padding:0}.lightbox-content{border-radius:0;height:100vh}.lightbox-image-container{padding:0}}
