.wrap{max-width:920px;margin:0 auto;padding:20px}
.site-header{border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;background:#fff}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;text-decoration:none;color:inherit}
.nav a{margin-left:12px;text-decoration:none;color:inherit;opacity:.8}
.nav a:hover{opacity:1}
.site-footer{border-top:1px solid rgba(0,0,0,.08);margin-top:40px;padding:20px 0}
.hero{padding:18px 0}
.posts{display:grid;gap:14px}
.post-card{padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:12px}
.post-card h2{margin:0 0 8px}
.meta{opacity:.7;font-size:14px}
.post h1{margin-top:0}
.lead{font-size:1.05rem;opacity:.85}
.prose{line-height:1.65}
.pagination{display:flex;gap:8px;margin:18px 0}
.pagination a{padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:10px;text-decoration:none;color:inherit}
.pagination a.active{font-weight:700}
.notice{padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.12);margin:12px 0}

/* Forms (public) */
label{display:block;margin:10px 0}
input,textarea,select{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.18);font:inherit}
button{padding:10px 14px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:600;cursor:pointer}
button:hover{opacity:.92}
.card{background:#fff}
