.gallery-container{display:block;padding:2rem;max-width:72rem;margin:0 auto;@media (max-width:330px){padding-left:.5rem;padding-bottom:.5rem;padding-right:.5rem;padding-top:.5rem;height:90vh;overflow:auto}}.gallery-title{font-size:2rem;font-weight:700}.gallery-description{margin-bottom:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.gallery-item{position:relative;overflow:hidden;cursor:pointer;transition:transform .25s ease}.gallery-item .gallery-image,.gallery-item img{width:100%;height:350px;object-fit:cover;display:block}.gallery-caption{padding:.5rem;font-size:.875rem;text-align:center}.gallery-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.gallery-overlay-image{width:auto;height:auto;max-width:100%;max-height:65vh;object-fit:contain;box-shadow:0 0 20px rgba(0,0,0,.3);transition:transform .3s ease,opacity .3s ease}@keyframes fadeIn{0%{opacity:.5;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.gallery-arrow,.gallery-close{color:#f4d861;background:transparent;border:none;cursor:pointer;z-index:10}.gallery-close{position:absolute;top:0;right:1.5rem;font-size:2.5rem}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;user-select:none}.gallery-arrow.left{left:.5rem}.gallery-arrow.right{right:.5rem}.gallery-overlay-content{position:relative;width:100%;max-width:95vw;max-height:90vh;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto}.gallery-overlay-image-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.75rem;max-width:80vw;max-height:100vh;margin:0 auto 10rem;padding:2rem;@media (max-width:640px){padding-left:1rem;padding-bottom:1rem;padding-right:1rem;padding-top:10rem}}.gallery-overlay-text{color:black;background-color:hsla(0,0%,100%,.8);padding:.75rem 1.25rem;font-size:1rem;font-weight:600;text-align:center;max-width:70%;opacity:1;margin-top:1rem;justify-self:center;@media (max-width:800px){max-width:95%}}