* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; background: #000; color: #fff; display: flex; flex-direction: column; min-height: 100vh; } header { position: fixed; top: 0; left: 0; right: 0; padding: 1.5rem 2rem; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); z-index: 100; } header h1 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; } .gallery { columns: 4 300px; column-gap: 0; padding-top: 5rem; flex: 1; } .gallery-item { position: relative; overflow: hidden; background: #111; break-inside: avoid; margin-bottom: 0; } .gallery-item a { display: block; cursor: pointer; } .gallery-item img { width: 100%; height: auto; display: block; transition: transform 0.3s ease; } .gallery-item:hover img { transform: scale(1.05); } /* Lightbox */ .lightbox { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.95); z-index: 1000; align-items: center; justify-content: center; } .lightbox:target { display: flex; } .lightbox img { max-width: 90%; max-height: 90vh; object-fit: contain; } .lightbox-close { position: absolute; top: 2rem; right: 2rem; color: #fff; font-size: 3rem; text-decoration: none; line-height: 1; font-weight: 300; transition: opacity 0.2s; } .lightbox-close:hover { opacity: 0.7; } footer { padding: 2rem; text-align: center; background: #000; margin-top: auto; } footer p { margin: 0; font-size: 0.875rem; color: #666; } footer a { color: #999; text-decoration: none; transition: color 0.2s; } footer a:hover { color: #fff; } /* Responsive adjustments */ @media (max-width: 1200px) { .gallery { columns: 3 250px; } } @media (max-width: 768px) { .gallery { columns: 2 200px; padding-top: 4rem; } header { padding: 1rem 1.5rem; } header h1 { font-size: 1.25rem; } } @media (max-width: 480px) { .gallery { columns: 1; } }