body { font-family: system-ui, sans-serif; margin: 0; line-height: 1.5; color: #222; }
header { background: #111; color: #fff; padding: 1rem 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 2rem; }
header a { color: #fff; text-decoration: none; }
header .brand { font-size: 1.5rem; font-weight: bold; }
nav ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; list-style: none; margin: 0; padding: 0; }
nav a:hover, nav a[aria-current="page"] { text-decoration: underline; }
.hero { max-width: 100%; border-radius: 8px; }
main { max-width: 60rem; margin: 0 auto; padding: 1rem 2rem; }
.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem; }
.card img { width: 100%; border-radius: 4px; }
.card h3 a { color: inherit; text-decoration: none; }
.card h3 a:hover { text-decoration: underline; }
.filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.filters button { font: inherit; padding: 0.25rem 0.9rem; border: 1px solid #111; border-radius: 999px; background: #fff; color: #111; cursor: pointer; }
.filters button[aria-pressed="true"] { background: #111; color: #fff; }
.meta a { color: inherit; }
.meta { color: #666; margin-top: 0; }
.lead { font-size: 1.15rem; }
.error { color: #b00020; }
