.gallery-section{position:relative;padding:6rem 0;background:linear-gradient(180deg,#fff,#f8f9fa,#fff,#f8f9fa,#fff);overflow:hidden}.gallery-header{text-align:center;margin-bottom:4rem;animation:fadeSlideDown .8s cubic-bezier(.16,1,.3,1)}.gallery-label{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.gallery-label span{font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.15em;color:#6b7280;text-transform:uppercase}.label-line{width:40px;height:2px;background:linear-gradient(90deg,transparent,#dc3545,transparent);animation:lineExpand 1s cubic-bezier(.16,1,.3,1) .3s backwards}.gallery-title{font-family:Poppins,system-ui,sans-serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:#07006b;letter-spacing:-.03em;line-height:1.3;margin-bottom:3rem}.highlight-gradient{background:linear-gradient(135deg,#20c997,#0ea5e9,#6f42c1);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientFlow 6s ease infinite}.gallery-filters{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}.filter-btn{position:relative;padding:.6rem 1.5rem;font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:600;color:#6b7280;background:#fff9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:50px;cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #0000000f,inset 0 1px #fffc}.filter-btn:hover{color:#20c997;background:#ffffffd9;border-color:#20c9974d;transform:translateY(-3px) scale(1.03);box-shadow:0 8px 24px #20c99733,inset 0 1px #ffffffe6}.filter-btn.active{color:#fff;background:#20c997f2;backdrop-filter:blur(20px);border-color:#20c997cc;box-shadow:0 6px 20px #20c99766,inset 0 1px #ffffff4d;transform:translateY(-2px)}.filter-active-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff80;border-radius:999px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;max-width:1200px;margin:0 auto}@supports (aspect-ratio: 1){.gallery-grid>*{aspect-ratio:1}}.gallery-item{position:relative;width:100%;aspect-ratio:1 / 1;min-height:200px;min-width:0;border-radius:20px;overflow:hidden;cursor:pointer;opacity:0;transition:opacity .5s ease,box-shadow .35s ease,border-color .35s ease;transform:none;background:#fff;border:2px solid #20c997;box-shadow:0 1px #ffffffe6 inset,0 4px 12px #20c99726,0 10px 32px #00000014,0 2px 6px #0000000a}.gallery-item.fade-in{opacity:1}.gallery-item:hover{transform:none;border-color:#20c997;box-shadow:0 1px #fffffff2 inset,0 8px 24px #20c99740,0 16px 48px #0000001a,0 4px 12px #0000000f}.gallery-item .corner-accent{position:absolute;width:28px;height:28px;opacity:.7;z-index:11;pointer-events:none}.gallery-item .corner-accent.top-left{top:0;left:0;background:linear-gradient(135deg,rgba(32,201,151,.35),transparent 65%);border-radius:20px 0 0;box-shadow:0 1px #fff6 inset}.gallery-item .corner-accent.bottom-right{bottom:0;right:0;background:linear-gradient(315deg,rgba(32,201,151,.3),transparent 65%);border-radius:0 0 20px;box-shadow:0 -1px #ffffff4d inset}.image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(32,201,151,.03) 0%,transparent 100%);padding:.5rem;overflow:hidden;border-radius:18px;margin:2px;border:1px solid rgba(32,201,151,.12)}.image-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transform:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.gallery-item:hover .image-wrapper img{transform:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.category-badge{position:absolute;top:.8rem;right:.8rem;z-index:4;opacity:1;transform:none}.category-badge span{display:inline-block;padding:.35rem .8rem;font-family:Inter,system-ui,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#20c997,#17a589);border-radius:50px;border:1px solid rgba(255,255,255,.4);box-shadow:0 2px #0000001a,0 4px 12px #20c99766,inset 0 1px #ffffff59}.gallery-item:hover .category-badge{opacity:1}.image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity .3s ease;z-index:3}.gallery-item:hover .image-overlay{opacity:1}.overlay-content{position:absolute;bottom:0;left:0;right:0;padding:1.2rem;transform:none;opacity:0;transition:opacity .3s ease}.gallery-item:hover .overlay-content{opacity:1}.zoom-icon{width:40px;height:40px;color:#fff;margin-bottom:.8rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.image-title{font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:600;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);line-height:1.3}.card-glow{position:absolute;inset:-6px;background:linear-gradient(135deg,#20c997,#20c99780);opacity:0;border-radius:22px;filter:blur(20px);transition:opacity .35s ease;z-index:-1}.gallery-item:hover .card-glow{opacity:.35}.lightbox-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.16,1,.3,1)}.lightbox-modal.open{opacity:1;visibility:visible}.lightbox-backdrop{position:absolute;inset:0;background:#000000f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.lightbox-content{position:relative;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;z-index:2;animation:lightboxZoom .5s cubic-bezier(.16,1,.3,1)}.lightbox-close{position:absolute;top:-60px;right:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #0000004d}.lightbox-close:hover{background:#dc3545e6;border-color:#dc3545;transform:rotate(90deg) scale(1.1)}.lightbox-close svg{width:24px;height:24px}.lightbox-controls{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:3}.lightbox-btn{padding:.6rem 1.4rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#00000080;color:#fff;font-family:Inter,system-ui,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0006;transition:all .25s cubic-bezier(.16,1,.3,1)}.lightbox-btn:hover{background:#20c997e6;border-color:#20c997;transform:translateY(-2px)}.lightbox-btn-back{background:#ffffff1f;border-color:#fff9}.lightbox-btn-back:hover{background:#dc3545f2;border-color:#dc3545}.lightbox-image-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:0;overflow:hidden;box-shadow:none}.lightbox-image{max-width:100%;max-height:100vh;-o-object-fit:contain;object-fit:contain;display:block}.lightbox-caption{display:none}.lightbox-caption h3{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:.5rem}.image-category{font-family:Inter,system-ui,sans-serif;font-size:.9rem;color:#20c997;font-weight:500}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes lineExpand{0%{width:0}to{width:40px}}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes lightboxZoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.image-wrapper{padding:.5rem}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}}@media(max-width:768px){.gallery-section{padding:4rem 0}.gallery-header{margin-bottom:3rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.gallery-item{min-height:160px;border-radius:18px}.image-wrapper{padding:.4rem}.gallery-filters{gap:.7rem;justify-content:center}.filter-btn{min-width:110px;padding:.55rem 1rem;font-size:.8rem}.category-badge{top:.6rem;right:.6rem}.category-badge span{font-size:.6rem;padding:.3rem .6rem}.lightbox-content{margin:0}.lightbox-close{top:12px;right:12px;width:40px;height:40px}.lightbox-controls{bottom:20px;gap:.6rem;width:calc(100% - 1.5rem);justify-content:center}.lightbox-btn{padding:.45rem 1rem;font-size:.8rem}}@media(max-width:580px){.gallery-section{padding:3.25rem 0}.gallery-header{margin-bottom:2.2rem}.gallery-title{font-size:clamp(1.55rem,8.2vw,1.95rem);line-height:1.22;margin-bottom:2rem}.gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;width:min(340px,100%);margin:1.6rem auto 0}.filter-btn{width:100%;min-width:0;font-size:.9rem;padding:.62rem .8rem}.gallery-grid{grid-template-columns:1fr;gap:.85rem}.gallery-item{min-height:210px;border-radius:16px}.image-wrapper{padding:.35rem}.gallery-title{letter-spacing:-.02em}.zoom-icon{width:32px;height:32px}.image-title{font-size:.8rem}.category-badge{top:.5rem;right:.5rem}.category-badge span{font-size:.55rem;padding:.25rem .5rem}.corner-accent,.gallery-item:hover .corner-accent{width:20px!important;height:20px!important}.lightbox-caption h3{font-size:1.2rem}.lightbox-controls{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.lightbox-btn{width:100%;min-height:40px;padding:.5rem .7rem;font-size:.78rem}.lightbox-btn-back{grid-column:1 / -1}}@media(max-width:380px){.gallery-filters{grid-template-columns:1fr;width:100%}.gallery-item{min-height:190px}}@media(prefers-reduced-motion:reduce){.gallery-item,.image-wrapper img,.overlay-content,.zoom-icon,.lightbox-modal,.lightbox-close,.lightbox-nav{animation:none!important;transition:none!important}.gallery-item:hover{transform:none}}@media(min-resolution:192dpi){.gallery-item{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.lightbox-image{image-rendering:-webkit-optimize-contrast}}@keyframes galleryPageFadeIn{0%{opacity:0}to{opacity:1}}.gallery-page-premium{animation:galleryPageFadeIn .55s ease-out forwards}
