/* ============================================================
   FACTERRA — Blog / archive styles
   Extends facterra.css. Long-form reading, same restraint.
   ============================================================ */

/* ---------- Post header ---------- */
.post-head{padding:72px 0 34px;border-bottom:1px solid var(--line);margin-bottom:44px;}
.post-head h1{font-size:clamp(1.85rem,3.9vw,2.7rem);line-height:1.12;letter-spacing:-0.028em;
  margin-top:14px;max-width:22ch;}
.post-meta{font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-3);}
.post-byline{margin-top:18px;font-size:15px;color:var(--ink-3);}

/* ---------- Post body ---------- */
.post-body{font-size:18px;line-height:1.72;color:var(--ink-2);}
.post-body p{margin:0 0 22px;}
.post-body h2{font-size:1.42rem;line-height:1.25;color:var(--ink);margin:44px 0 16px;
  letter-spacing:-0.02em;}
.post-body h3{font-size:1.15rem;line-height:1.3;color:var(--ink);margin:36px 0 12px;font-weight:640;}
.post-body ul{margin:0 0 22px;padding-left:22px;}
.post-body li{margin-bottom:10px;}
.post-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.post-body strong{color:var(--ink);font-weight:640;}
.post-body blockquote{margin:30px 0;padding:2px 0 2px 20px;border-left:2px solid var(--accent);}
.post-body blockquote p{font-size:17px;color:var(--ink-3);font-style:italic;margin:0;}
.post-body img{margin:30px 0;border:1px solid var(--line);border-radius:var(--radius);}

/* ---------- Archive note ---------- */
.post-archive-note{margin-top:52px;padding:20px 22px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius-lg);}
.post-archive-note p{font-size:15px;line-height:1.6;color:var(--ink-3);margin:0;}
.post-archive-note strong{color:var(--ink-2);}

/* ---------- Prev / next ---------- */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;
  padding-top:26px;border-top:1px solid var(--line);}
.post-nav a{font-size:15px;line-height:1.45;color:var(--ink-2);text-decoration:none;}
.post-nav a:hover{color:var(--accent);text-decoration:underline;}
.post-nav a:only-child{grid-column:1 / -1;}

/* ---------- Index ---------- */
.year{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;
  color:var(--ink-3);margin:44px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.year:first-of-type{margin-top:0;}
.post-list{display:flex;flex-direction:column;}
.post-item{display:grid;grid-template-columns:132px 1fr;gap:26px;padding:24px 0;
  border-bottom:1px solid var(--line-2);text-decoration:none;color:inherit;align-items:start;}
.post-item:hover{text-decoration:none;}
.post-item:hover h3{color:var(--accent);}
.post-item-date{font-size:12.5px;color:var(--ink-3);padding-top:4px;letter-spacing:.02em;}
.post-item h3{font-size:1.12rem;line-height:1.32;margin:0 0 7px;font-weight:640;
  transition:color .12s ease;}
.post-item p{font-size:15px;line-height:1.55;color:var(--ink-3);margin:0;}

@media (max-width:640px){
  .post-head{padding:52px 0 28px;margin-bottom:32px;}
  .post-body{font-size:17px;}
  .post-item{grid-template-columns:1fr;gap:6px;}
  .post-item-date{padding-top:0;}
  .post-nav{grid-template-columns:1fr;}
  .post-nav a{text-align:left !important;}
}
