.page-wrapper{max-width:1400px;padding:calc(var(--nav-height) + 4rem) 2rem 4rem 2rem;min-height:100vh;margin:0 auto}.gallery-hero{text-align:center;margin-bottom:4rem}.gallery-hero h1{color:var(--text-primary,#1a1a1a);letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:700}.gallery-hero p{color:var(--text-secondary,#666);max-width:600px;margin:0 auto;font-size:1.125rem}.gallery-grid{column-count:1;column-gap:1.5rem;width:100%}@media (width>=640px){.gallery-grid{column-count:2}}@media (width>=1024px){.gallery-grid{column-count:3}}button.gallery-item{text-align:left;break-inside:avoid;cursor:pointer;background:#fff;border:1px solid #00000008;border-radius:24px;width:100%;margin-bottom:2rem;padding:0;transition:all .6s cubic-bezier(.23,1,.32,1);display:block;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 10px 30px -10px #0000001a}button.gallery-item:hover{border-color:#00000014;transform:translateY(-12px)scale(1.02);box-shadow:0 25px 50px -12px #00000026}.gallery-item img,.gallery-item video{object-fit:cover;background-color:#f8f9fa;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.19,1,.22,1);display:block}.gallery-item:hover img,.gallery-item:hover video{transform:scale(1.1)}.video-thumbnail-container{background:#000;width:100%;height:100%;position:relative}.play-indicator{color:#fff;-webkit-backdrop-filter:blur(12px);z-index:2;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .5s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-indicator svg{fill:#fff;width:28px;height:28px;margin-left:5px}.gallery-item:hover .play-indicator{background:#fff;transform:translate(-50%,-50%)scale(1.15);box-shadow:0 10px 25px #0003}.gallery-item:hover .play-indicator svg{fill:#000}.overlay{opacity:0;pointer-events:none;z-index:3;background:linear-gradient(#0000 0%,#000000b3 100%);flex-direction:column;justify-content:flex-end;padding:2.5rem;transition:all .5s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;inset:0}.gallery-item:hover .overlay{opacity:1}.overlay .category{color:#fffc;text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem;font-size:.75rem;font-weight:700;transition:all .6s cubic-bezier(.23,1,.32,1) 50ms;transform:translateY(20px)}.overlay span{color:#fff;letter-spacing:-.01em;font-size:1.25rem;font-weight:600;transition:all .6s cubic-bezier(.23,1,.32,1) .1s;transform:translateY(20px)}.gallery-item:hover .overlay span,.gallery-item:hover .overlay .category{transform:translateY(0)}.lightbox{z-index:9999;-webkit-backdrop-filter:blur(20px);background:#0a0a0afa;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-content{justify-content:center;align-items:center;max-width:95vw;max-height:90vh;display:flex;position:relative}.lightbox-content img,.lightbox-content video{object-fit:contain;background:0 0;border-radius:20px;max-width:100%;max-height:85vh;box-shadow:0 40px 100px #0009}.close-btn{color:#fff;cursor:pointer;z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:fixed;top:2.5rem;right:2.5rem}.close-btn:hover{color:#000;background:#fff;transform:scale(1.1)rotate(90deg)}@media (width<=640px){.page-wrapper{padding:4rem 1.5rem}.gallery-grid{column-gap:1rem}button.gallery-item{border-radius:18px;margin-bottom:1rem}}
