body { font-family: sans-serif; margin: 0; padding: 0; }
header, footer { padding: 1em; background: #f0f0f0; text-align: center; }
#gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1em; padding: 1em; }
.card { border: 1px solid #ddd; padding: 1em; border-radius: 8px; text-align: center; background: #fff; }
.card img { width: 100%; height: auto; border-radius: 4px; }
.card h2 { margin: 0.5em 0 0.2em; font-size: 1.2em; }
.card p { margin: 0.2em 0; color: #555; }
.card a { display: inline-block; margin-top: 0.5em; padding: 0.5em 1em; border-radius: 4px; background: black; color: white; text-decoration: none; }
.card a:hover { opacity: 0.8; }
