:root { --maxw: 1000px; }
.hero { max-width: var(--maxw); margin: 2rem auto 1rem; text-align: center; }
.hero .tagline { font-size: 1.15rem; opacity: .85; }
.cta-row { margin-top: 1rem; }
.btn { display:inline-block; padding:.6rem 1rem; border-radius:8px; border:1px solid #0366d6; text-decoration:none; }
.btn:hover { text-decoration:none; }
.btn-secondary { background:#fff; }
section, .page-content { max-width: var(--maxw); margin:auto; }
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 1rem 0 2rem; }
.card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #e5e7eb; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.card img { width:100%; height:150px; object-fit:cover; background:#f6f8fa; }
.card-body { padding:12px 14px; }
.card h3 { margin:.2rem 0 .4rem; font-size:1.05rem; }
.tags { margin-top:.4rem; display:flex; gap:.35rem; flex-wrap:wrap; }
.tag { font-size:.75rem; padding:.15rem .45rem; border-radius:9999px; background:#eef2ff; border:1px solid #e0e7ff; }