/* Blog-specific components. Scoped here so shared site.css does not need a
     version bump across every page just for the blog. Uses the global tokens. */
  .post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-top:8px;}
  .post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
    border-radius:18px;padding:26px 26px 22px;text-decoration:none;color:var(--navy);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden;}
  .post-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;
    background:linear-gradient(90deg,var(--blue),var(--blue-bright));opacity:0;transition:opacity .18s ease;}
  .post-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(7,28,60,.35);border-color:#C4D6F6;}
  .post-card:hover::before{opacity:1;}
  .post-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
  .post-tag{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    color:var(--blue);background:var(--ice);padding:5px 11px;border-radius:999px;}
  .post-part{font-size:12px;color:var(--slate);font-weight:600;}
  .post-card h3{font-size:20px;line-height:1.3;margin:0 0 10px;font-family:'Space Grotesk',sans-serif;}
  .post-deck{font-size:14.5px;line-height:1.55;color:var(--slate);margin:0 0 20px;flex:1;}
  .post-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding-top:16px;border-top:1px solid var(--line);}
  .byline{display:flex;align-items:center;gap:10px;}
  .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy-2));
    color:#fff;font-size:13px;font-weight:600;display:grid;place-items:center;flex-shrink:0;letter-spacing:.02em;}
  .byline-txt{display:flex;flex-direction:column;line-height:1.25;}
  .byline-txt strong{font-size:13.5px;color:var(--navy);}
  .byline-txt em{font-size:11.5px;color:var(--slate);font-style:normal;}
  .post-read{font-size:12.5px;color:var(--slate);white-space:nowrap;}
  .blog-empty{color:var(--slate);font-size:15px;padding:20px 0;}
