/* Base layout and typography */ body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: #121212; color: #e0e0e0; max-width: 1000px; margin: auto; padding: 20px; } h1 { font-size: 48px; margin-bottom: 30px; } h2 { font-size: 1.5rem; font-weight: 500; color: #ffffff; border-bottom: 1px solid #333; margin-top: 40px; padding-bottom: 8px; } /* Flex-based gallery layout */ .gallery { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; } /* Each image container wraps to its image's width */ .gallery-item { display: inline-block; margin: 0; padding: 0; box-sizing: border-box; overflow: hidden; vertical-align: top; } /* Image styling with placeholder skeleton */ .gallery-item img { height: 200px; width: auto; max-width: 100vw; object-fit: cover; display: block; transition: transform 0.2s ease-in-out; } .gallery-item img.loading { background: linear-gradient(90deg, #222 25%, #333 50%, #222 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; min-width: 200px; min-height: 200px; } /* Shimmer animation for loading placeholder */ @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } /* Description styling */ .gallery-item p { margin: 8px 0 0; font-size: 0.85rem; color: #aaaaaa; line-height: 1.4; text-align: left; word-break: break-word; max-width: 100%; } /* Responsive layout for mobile */ @media (max-width: 600px) { body { padding: 12px; } h1 { font-size: 1.5rem; } h2 { font-size: 1.2rem; } .gallery { flex-direction: column; gap: 12px; } .gallery-item { width: 100%; } .gallery-item img { width: 100%; height: auto; max-height: 300px; } .gallery-item p { padding: 0 8px 8px; } } /* Instagram icon link */ .ig-link { margin-left: 12px; vertical-align: middle; }