.blog-shell { max-width:1080px; padding-top:2rem; }
.blog-brand { display:inline-block; font-weight:800; text-decoration:none; margin-bottom:2rem; }
.blog-brand span { color:var(--fg-dim); }
.blog-hero { padding:2rem 0 3rem; max-width:760px; }
.blog-hero h1 { font-size:clamp(2.7rem,7vw,4.8rem); }
.blog-kicker { color:var(--accent); text-transform:uppercase; letter-spacing:.15em; font-size:.75rem; font-weight:700; }
.blog-hero>p:last-child,.blog-intro { font-size:1.15rem; color:var(--fg-dim); }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.blog-card,.blog-panel,.blog-empty { border:1px solid var(--border); border-radius:18px; background:var(--bg-elev); overflow:hidden; }
.blog-card a { display:block; height:100%; color:var(--fg); text-decoration:none; }
.blog-card a:hover h2 { color:var(--accent); }
.blog-card img,.blog-card-art { width:100%; aspect-ratio:3/2; object-fit:cover; }
.blog-card-art { display:grid; place-items:center; font-size:4rem; color:var(--accent); background:linear-gradient(135deg,#473612,#171a20); }
.blog-card a>div:not(.blog-card-art) { padding:1.5rem; }
.blog-card h2 { line-height:1.2; font-size:1.5rem; margin:.7rem 0; }
.blog-card p,.blog-card small { color:var(--fg-dim); }
.blog-card strong { color:var(--accent); }
.blog-pagination { display:flex; justify-content:space-between; padding:2rem 0; }
.blog-article { max-width:860px; }
.blog-article header { margin-bottom:2rem; }
.blog-article h1 { font-size:clamp(2.3rem,6vw,3.7rem); }
.blog-article time { color:var(--fg-dim); font-size:.85rem; }
.blog-cover,.blog-prose img { display:block; width:100%; height:auto; border-radius:18px; }
.blog-prose { max-width:700px; margin:2rem auto; font-size:1.08rem; line-height:1.8; overflow-wrap:anywhere; }
.blog-prose h2 { line-height:1.25; margin-top:2rem; color:var(--accent); }
.blog-prose figure { margin:2rem 0; }
.blog-cta { padding:2rem; border:1px solid var(--accent-dim); border-radius:18px; background:linear-gradient(120deg,#332a14,var(--bg-elev)); }
.blog-preview { border:1px dashed var(--accent); padding:1rem; }
.blog-panel,.blog-empty { padding:1.25rem; margin:1rem 0; }
.blog-panel form+form { margin-top:1rem; }
.blog-panel label { display:block; margin:.7rem 0; }
.blog-panel input:not([type=checkbox]),.blog-panel textarea,.blog-panel select { display:block; width:100%; margin-top:.4rem; padding:.7rem; background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:8px; font:inherit; }
.blog-panel textarea { resize:vertical; }
.blog-panel .blog-check { display:flex; align-items:center; gap:.6rem; }
.blog-panel fieldset { border:1px solid var(--border); margin:1rem 0; min-width:0; }
.blog-panel p { color:var(--fg-dim); font-size:.9rem; overflow-wrap:anywhere; }
.blog-panel button { margin:.35rem 0; padding:.7rem 1rem; border:1px solid var(--accent); border-radius:10px; background:var(--accent); color:#111; font:inherit; font-weight:650; cursor:pointer; }
.blog-panel button.secondary { background:transparent; color:var(--accent); }
.blog-panel button:hover { filter:brightness(1.08); }
.blog-panel button:focus-visible { outline:2px solid var(--fg); outline-offset:3px; }
.blog-admin-image { display:block; width:100%; border-radius:10px; }
@media(max-width:600px) { .blog-grid { grid-template-columns:1fr; } .blog-hero { padding:1rem 0 2rem; } }
