.gallery{padding:0 20px;max-width:1200px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px 0}.gallery-item{position:relative;cursor:pointer;overflow:hidden;aspect-ratio:1;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item-info{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:15px;transform:translateY(100%);transition:transform .3s ease}.gallery-item-info h3{margin:0 0 5px;font-size:1.2em}.gallery-item-info p{margin:0;font-size:.9em;opacity:.9}.gallery-item:hover{transform:scale(1.02)}.gallery-item:hover img{transform:scale(1.1)}.gallery-item:hover .gallery-item-info{transform:translateY(0)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.modal-content img{max-width:100%;max-height:70vh;object-fit:contain}.modal-info{padding:20px;background:#fff}.modal-info h2{margin:0 0 10px;font-size:1.5em}.modal-info p{margin:5px 0;color:#666}.modal .close-button{position:absolute;top:10px;right:10px;background:#00000080;color:#fff;border:none;width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.modal .close-button:hover{background:#000000b3}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{height:100vh;display:flex;flex-direction:column}.app header{background:#fff;padding:.5rem;box-shadow:0 1px 2px #0000000d;border-bottom:1px solid rgba(0,0,0,.06)}.app header .header-content{max-width:1200px;margin:0 auto;padding:4px 1rem;display:flex;align-items:center}.app header .header-content .logo{display:flex;align-items:center}.app header .header-content .logo img{height:32px;width:auto;opacity:.85}.app header .header-content nav{margin-left:2rem}.app header .header-content nav .nav-link{color:#666;text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.app header .header-content nav .nav-link:hover{color:#333;background:#0000000d}.app main{flex:1;padding:0 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.app main::-webkit-scrollbar{display:none}.app footer{text-align:center;padding:1rem;background:#fff;border-top:1px solid rgba(0,0,0,.06)}.app footer a{color:#666;text-decoration:none;font-size:.875rem;transition:color .2s ease}.app footer a:hover{color:#333}
