/* ============================================================================
 * Blog — layout on top of the marketing tokens + base (../styles.css).
 * Uses the redesign type/color vars: --font-serif / --font-mono / --accent /
 * --ink / --ink-2 / --ink-soft / --card / --line / --accent-soft.
 * ==========================================================================*/
.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;}

.scaffold-note{
  margin:20px 0 0;background:var(--accent-soft);border:1px solid #d9d6f7;border-radius:12px;
  padding:12px 16px;font-size:13.5px;color:var(--ink-2);line-height:1.5;
}
.scaffold-note code{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);background:#fff;border:1px solid #d9d6f7;border-radius:5px;padding:1px 5px;}

/* ---- Listing ---- */
.blog-hero{padding:56px 0 8px;max-width:760px;}
.blog-hero .eyebrow{margin-bottom:14px;}
.blog-hero h1{font-family:var(--font-serif);font-size:clamp(34px,5vw,52px);font-weight:600;letter-spacing:-.02em;line-height:1.08;color:var(--ink);margin:0 0 14px;text-wrap:balance;}
.blog-hero p{font-size:18px;color:var(--ink-2);max-width:56ch;margin:0;}

.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding:32px 0 48px;}
@media(max-width:760px){.post-grid{grid-template-columns:1fr;}}
.post-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;}
.post-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 20px 44px -26px rgba(63,55,207,.4);}
.post-card .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:12px;display:flex;gap:12px;flex-wrap:wrap;}
.post-card .meta .tag{color:var(--accent);}
.post-card h2{font-family:var(--font-serif);font-size:23px;font-weight:600;line-height:1.2;color:var(--ink);margin:0 0 8px;text-wrap:balance;}
.post-card p{font-size:15px;color:var(--ink-2);margin:0 0 16px;flex:1;line-height:1.55;}
.post-card .read{font-weight:600;color:var(--accent);font-size:14px;}

/* ---- Article ---- */
.article{max-width:680px;margin:0 auto;padding:12px 0 48px;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none;margin:24px 0 20px;}
.back-link:hover{text-decoration:underline;}
.article .eyebrow{margin-bottom:14px;}
.article h1{font-family:var(--font-serif);font-size:clamp(30px,4.6vw,46px);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:0 0 16px;text-wrap:balance;}
.article .byline{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.article p,.article li{font-size:17px;line-height:1.75;color:var(--ink-2);}
.article p{margin:0 0 20px;}
.article h2{font-family:var(--font-serif);font-size:26px;font-weight:600;color:var(--ink);margin:36px 0 12px;letter-spacing:-.01em;}
.article ul{padding-left:22px;margin:0 0 20px;}
.article li{margin-bottom:8px;}
.article blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:3px solid var(--accent);font-family:var(--font-serif);font-size:20px;font-style:italic;color:var(--ink);}
.article strong{color:var(--ink);font-weight:600;}
