.cafe-intro { font-weight: 400; font-size: 1.02rem; line-height: 2.1; color: #333; letter-spacing: 0.04em; margin-bottom: 2.8rem; text-wrap: pretty; }
.cafe-info { background: var(--linen); border-radius: 2px; padding: 1.8rem 2rem; position: relative; overflow: hidden; margin-bottom: 2.8rem; }
.cafe-info::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: var(--accent); opacity: 0.8; }
.cafe-info-row { display: flex; gap: 1rem; align-items: baseline; font-size: 0.92rem; font-weight: 400; color: #333; letter-spacing: 0.06em; }
.cafe-info-row + .cafe-info-row { margin-top: 0.5rem; }
.cafe-info-label { min-width: 4rem; color: var(--ink-mid); }
.post-grid { display: flex; flex-direction: column; gap: 0; }
.post-card { display: block; padding: 1.8rem 0; border-top: 1px solid var(--rule); text-decoration: none; color: inherit; transition: opacity 0.2s; }
.post-card:last-child { border-bottom: 1px solid var(--rule); }
.post-card:hover { opacity: 0.7; }
.post-meta { display: flex; align-items: center; gap: 0.8rem; font-size: 0.78rem; color: var(--ink-light); letter-spacing: 0.06em; margin-bottom: 0.7rem; }
.post-cat { color: var(--accent); font-weight: 500; }
.post-title { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: #333; line-height: 1.7; letter-spacing: 0.04em; margin-bottom: 0.6rem; }
.post-excerpt { font-size: 0.9rem; color: var(--ink-mid); line-height: 1.85; letter-spacing: 0.03em; }
.post-link { display: inline-block; margin-top: 0.8rem; font-size: 0.82rem; color: var(--accent); letter-spacing: 0.08em; }
.post-link::after { content: ' →'; }
.archive-note { margin-top: 2.4rem; font-size: 0.85rem; color: var(--ink-light); line-height: 1.8; letter-spacing: 0.05em; }
@media (max-width: 768px) {
  .cafe-info { padding: 1.4rem 1.6rem; }
  .post-card { padding: 1.6rem 0; }
}
