/* Hallmark · macrostructure: Archive Grid (extends Workbench) · theme: Cobalt (inherited, not re-picked)
 * nav: N1a (matches homepage) · footer: Ft5 Statement (matches homepage)
 * pre-emit critique: P5 H4 E4 S4 R5 V4
 */
.bloghero { padding-top: var(--space-lg); }
.bloghero h1 { font-size: var(--text-4xl); max-width: 20ch; }
.bloghero__lede { font-size: var(--text-lg); color: var(--color-ink-2); max-width: 52ch; margin-top: var(--space-md); }

.postgrid { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--space-lg); margin-top: var(--space-2xl); }
@media (min-width: 40rem) { .postgrid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 68rem) { .postgrid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

.postcard { display: flex; flex-direction: column; gap: var(--space-md); border: 1px solid var(--color-rule); border-radius: var(--radius-lg); padding: var(--space-lg); background: var(--color-paper); box-shadow: var(--shadow-card); text-decoration: none; color: inherit; transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); min-width: 0; }
a.postcard:hover { border-color: var(--color-accent); transform: translateY(-2px); }
.postcard__meta { display: flex; align-items: center; gap: var(--space-sm); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-ink-3); text-transform: uppercase; letter-spacing: 0.06em; }
.postcard__title { font-family: var(--font-display); font-weight: 600; font-size: var(--text-xl); color: var(--color-ink); letter-spacing: -0.02em; line-height: 1.15; }
.postcard__dek { font-size: var(--text-sm); color: var(--color-ink-2); line-height: 1.55; }
.postcard__read { margin-top: auto; font-family: var(--font-display); font-weight: 500; font-size: var(--text-sm); color: var(--color-accent-text); display: inline-flex; align-items: center; gap: 6px; }
.postcard--soon { cursor: default; opacity: 0.62; }
.postcard--soon:hover { border-color: var(--color-rule); transform: none; }
.postcard--soon .postcard__title { color: var(--color-ink-2); }

.soonbadge { font-family: var(--font-mono); font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; padding: 3px 7px; border-radius: 5px; color: var(--color-ink-3); background: var(--color-paper-2); border: 1px solid var(--color-rule-2); }
