body.page-gallery{background-color:#050505;color:#fff;overflow:hidden;height:100vh;width:100vw;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0;-webkit-user-select:none;user-select:none}.gallery-wrapper{position:relative;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.gallery-viewport{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;perspective:900px;perspective-origin:50% 50%;overflow:hidden;background:radial-gradient(circle at center,#a0143c59,#46081933,#050505);cursor:grab;touch-action:none}.gallery-viewport:active{cursor:grabbing}.gallery-grid{display:flex;gap:1.75rem;transform-style:preserve-3d;will-change:transform;padding:85px 1.5rem 30px;width:max-content;height:max-content;flex-shrink:0}.gallery-column{display:flex;flex-direction:column;justify-content:flex-start;gap:1.75rem;transform-style:preserve-3d;width:320px;flex-shrink:0;will-change:transform}.gallery-card{position:relative;border-radius:2rem;overflow:hidden;height:220px;background-color:#0d0f14;background-image:linear-gradient(90deg,#ff3c7805,#ff3c781a,#ff3c7805);background-size:200% 100%;animation:shimmerSkeleton 2s infinite linear;border:1.5px solid rgba(255,100,150,.15);box-shadow:0 15px 35px #000c;cursor:pointer;transform-style:preserve-3d;will-change:transform,background-position;transition:border-color .3s ease,box-shadow .3s ease}@keyframes shimmerSkeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-card img{width:100%;height:100%;object-fit:cover;opacity:0;transition:transform .6s ease,opacity .6s ease-out;will-change:transform,opacity;pointer-events:none}.gallery-card img.loaded{opacity:1}.gallery-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2rem;border:1.5px solid transparent;background:linear-gradient(135deg,#ff3c78b3,#8c1437b3) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.gallery-card:hover{border-color:#ff649699;box-shadow:0 25px 60px #b4194b73,0 0 35px #ff3c7840}.gallery-card:hover img{transform:scale(1.08)}.gallery-card:hover:after{opacity:1}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#000000f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,1,.3,1);padding:1.5rem}.gallery-lightbox.active{opacity:1;pointer-events:auto}.gallery-lightbox img{max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:1.25rem;border:1.5px solid rgba(255,100,150,.35);box-shadow:0 30px 100px #000000f2,0 0 60px #b4194b59;transform:scale(.92);transition:transform .35s cubic-bezier(.16,1,.3,1)}.gallery-lightbox.active img{transform:scale(1)}.lightbox-close-btn{position:absolute;top:2rem;right:2.5rem;background:#8c143759;border:1.5px solid rgba(255,100,150,.5);color:#fff;width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10000;transition:all .3s ease;box-shadow:0 8px 24px #0009}.lightbox-close-btn:hover{background:#b4194b99;border-color:#ff6496e6;transform:scale(1.08) rotate(90deg);box-shadow:0 0 20px #ff3c7899}.lightbox-close-btn svg{width:22px;height:22px}@media (max-width: 1200px){.gallery-column{width:270px}.gallery-card{height:190px;border-radius:1.75rem}}@media (max-width: 768px){.gallery-viewport{perspective:none;background:#050505}.gallery-grid{padding:80px 1rem 25px;gap:1rem}.gallery-column{width:220px;gap:1rem}.gallery-card{height:160px;border-radius:1.5rem}.gallery-card:after{border-radius:1.5rem}.gallery-lightbox{padding:.75rem}.gallery-lightbox img{max-width:98vw;max-height:85vh;border-radius:1rem}.lightbox-close-btn{top:1rem;right:1rem;width:2.75rem;height:2.75rem}}@media (max-width: 480px){.gallery-grid{padding:75px .75rem 20px;gap:.75rem}.gallery-column{width:calc(50vw - 1.125rem);gap:.75rem}.gallery-card{height:140px;border-radius:1.25rem}.gallery-card:after{border-radius:1.25rem}}
