.post-grid--wrap{margin-inline:calc(var(--gutter) * -1);border-block:1px solid var(--color-border);overflow:hidden}.post-grid{grid-template-columns:1fr;margin-bottom:-1px;margin-right:-1px;display:grid}.post-card{padding:24px var(--gutter) 26px;background:var(--color-bg);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transition:background var(--transition);flex-direction:column;display:flex;position:relative}.post-card:hover{background:var(--color-bg-soft)}.post-card--title a:after{content:"";z-index:1;position:absolute;inset:0}.post-card--cat,.post-card--author,.post-card--more{z-index:2;position:relative}.post-card--thumb{aspect-ratio:1;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;display:block;position:relative;overflow:hidden}.post-card--thumb img,.post-card--thumb .global-thumb--fallback{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.post-card--cat{letter-spacing:.01em;color:var(--color-primary);margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.post-card--cat:hover{color:var(--color-primary-deep);text-underline-offset:3px;text-decoration:underline}.post-card--title{font-size:19px;font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--color-text-strong);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-card:hover .post-card--title{text-underline-offset:3px;text-decoration:underline}.post-card--excerpt{color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:15px;line-height:1.7;display:-webkit-box;overflow:hidden}.post-card--meta{color:var(--color-text-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:auto;padding-top:18px;font-size:13px;display:flex}.post-card--info{flex-wrap:wrap;align-items:center;gap:6px 14px;display:inline-flex}.post-card--by{align-items:center;gap:5px;display:inline-flex}.post-card--by-label{letter-spacing:.04em;color:var(--color-text-light);font-weight:700}.post-card--author{color:var(--color-text-muted);font-weight:600}.post-card--author:hover{color:var(--color-primary-deep)}.post-card--date{align-items:center;gap:5px;display:inline-flex}.post-card--date svg{width:12px;height:12px;color:var(--color-text-light)}.post-card--more{color:var(--color-primary);white-space:nowrap;transition:color var(--transition);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.post-card:hover .post-card--more,.post-card--more:hover{color:var(--color-primary-deep);text-underline-offset:3px;text-decoration:underline}.post-card--more svg{width:13px;height:13px}.post-grid--empty{padding:60px var(--gutter);text-align:center;color:var(--color-text-muted);font-size:var(--fs-lg)}@media (width>=560px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.post-card{padding:28px var(--gutter) 30px}.post-card--title{font-size:20px}}.archive-main{padding-top:24px}.archive-head{margin-bottom:22px}.archive-head--label{letter-spacing:.06em;color:var(--color-primary);text-transform:uppercase;font-size:13px;font-weight:700}.archive-head--title{letter-spacing:-.03em;margin-top:6px;font-size:28px;font-weight:800}.archive-head--desc{font-size:var(--fs-sm);color:var(--color-text-muted);max-width:70ch;margin-top:12px;line-height:1.7}.archive-head--meta{color:var(--color-text-light);margin-top:10px;font-size:15px}.archive-pagination{margin-top:var(--gap-lg);flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.archive-pagination .page-numbers{min-width:44px;height:44px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg);transition:border-color var(--transition), color var(--transition), background var(--transition);justify-content:center;align-items:center;padding:0 12px;font-size:16px;font-weight:600;display:inline-flex}.archive-pagination a.page-numbers:hover{border-color:var(--color-primary);color:var(--color-primary-deep);background:var(--color-primary-soft)}.archive-pagination .page-numbers.current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.archive-pagination .page-numbers.dots{color:var(--color-text-light);background:0 0;border-color:#0000}@media (width>=900px){.archive-main{padding-top:36px}.archive-head{margin-bottom:28px}.archive-head--title{font-size:var(--fs-h1)}.archive-head--desc{font-size:var(--fs-base)}body.category .archive-main{min-height:80vh}}
