.gallery-container{max-width:1200px;margin:var(--space-8) auto;padding:0 var(--space-4)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.gallery-item{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);cursor:pointer;border:1px solid rgba(10,61,98,.1)}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-image{width:100%;height:100%;object-fit:cover;transition:all var(--transition-normal);opacity:0}.gallery-image.loaded{opacity:1}.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(10,61,98,.9),transparent);padding:var(--space-4);opacity:0;transition:opacity var(--transition-normal);display:flex;align-items:flex-end;height:100%}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-caption{color:white;font-size:var(--font-size-lg);font-weight:500}@media (max-width:992px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.gallery-caption{font-size:var(--font-size-base)}.gallery-container{margin:var(--space-6) auto}}@media (max-width:480px){.gallery-grid{grid-template-columns:1fr;gap:var(--space-3)}.gallery-container{margin:var(--space-5) auto;padding:0 var(--space-3)}}