.blog{z-index:10;padding:calc(var(--hdr) + clamp(40px,8vh,96px)) var(--gut) clamp(72px,12vh,140px);position:relative}.blog .bhead{text-align:center;max-width:760px;margin:0 auto clamp(40px,6vh,72px)}.blog .bhead h1{margin-bottom:18px}.blog .blede{color:var(--body);font-size:clamp(15px,1.25vw,18px);line-height:1.6}.blog .bempty{text-align:center;color:var(--muted);font-size:15px}.blog .bgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(20px,2.4vw,32px);max-width:1200px;margin:0 auto;padding:0;list-style:none;display:grid}.blog .bcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);height:100%;color:var(--tx);transition:border-color var(--duration-base) var(--ease),transform var(--duration-base) var(--ease);flex-direction:column;gap:12px;padding:12px 12px 22px;display:flex}.blog .bcard:hover{color:var(--tx);border-color:var(--emerald);transform:translateY(-2px)}.blog .bcover{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--cover);overflow:hidden}.blog .bcover img{object-fit:cover;width:100%;height:100%;display:block}.blog .bcard .bmeta,.blog .bcard h2,.blog .bcard .bexc{padding:0 10px}.blog .bcard h2{letter-spacing:-.01em;font-size:clamp(20px,1.6vw,23px);line-height:1.25}.blog .bexc{color:var(--body);font-size:15px;line-height:1.55}.blog .bmeta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12px;display:flex}.blog .bmeta span:before{content:"·";color:var(--faint);margin-right:14px}.blog .bpost{max-width:720px;margin:0 auto}.blog .bback{color:var(--muted);margin-bottom:28px;font-size:14px;display:inline-block}.blog .bback:before{content:"← "}.blog .bback:hover{color:var(--tx)}.blog .bpost h1{font-size:clamp(30px,4vw,52px)}.blog .bpost>.bmeta{margin-top:18px}.blog .bhero{margin:clamp(28px,4vh,44px) 0 0}.blog .bhero img{border-radius:var(--radius-lg);width:100%;height:auto;display:block}.blog .prose{color:var(--body);margin-top:clamp(32px,5vh,52px);font-size:clamp(16px,1.2vw,18px);line-height:1.75}.blog .prose>*+*{margin-top:1.15em}.blog .prose h2{color:var(--tx);margin-top:1.9em;font-size:clamp(23px,2.2vw,30px);line-height:1.25}.blog .prose h3{color:var(--tx);margin-top:1.6em;font-size:clamp(19px,1.6vw,22px);line-height:1.3}.blog .prose strong{color:var(--tx);font-weight:600}.blog .prose a{color:var(--emerald);text-underline-offset:3px;text-decoration:underline}.blog .prose a:hover{color:var(--mint)}.blog .prose code{font-family:var(--mono);background:var(--panel-raised);border-radius:4px;padding:.1em .35em;font-size:.88em}.blog .prose blockquote{border-left:2px solid var(--emerald);color:var(--tx);margin:1.6em 0;padding-left:20px;font-style:italic}.blog .prose ul,.blog .prose ol{padding-left:1.3em}.blog .prose li+li{margin-top:.4em}.blog .pfig{margin:1.8em 0}.blog .pfig img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.blog .pfig figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:14px}.blog .btags{flex-wrap:wrap;gap:8px;margin:48px 0 0;padding:0;list-style:none;display:flex}.blog .btags li{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);padding:5px 12px;font-size:12px}

