/* Generic WordPress content: blog, search, 404, and any page without a
   designed template. Keeps the theme coherent beyond the seven built pages. */

.page-head{
  position:relative;color:var(--on-ink);
  background-color:var(--ink);
  background-image:var(--drafting),var(--grain);
  background-size:var(--drafting-size),160px 160px;
  padding-block:clamp(5.5rem,3.5rem + 7vw,8.5rem) clamp(2.5rem,2rem + 2vw,3.5rem);
  overflow:hidden;
}
/* A rule, not a glow. */
.page-head::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:var(--rule-bold);
  background:var(--red);
}
.page-head .container{position:relative;z-index:1}
.page-head h1{color:var(--on-ink);font-size:var(--fs-h1);margin:0}
.page-head p{margin:1rem 0 0;color:var(--on-ink-2);font-size:var(--fs-lede);max-width:56ch}
.page-eyebrow{
  font-family:var(--font-mono);
  font-size:var(--fs-meta);font-weight:600;letter-spacing:var(--tr-meta);
  text-transform:uppercase;color:var(--on-ink-3);margin:0 0 1rem;
}

.content-wrap{padding-block:var(--section-y)}
.prose{max-width:min(72ch,100%)}
.prose h2{font-size:var(--fs-h2);margin-top:2.25rem}
.prose h3{font-size:var(--fs-h3);margin-top:1.75rem}
.prose p,.prose li{color:var(--text-2);line-height:1.75}
.prose img{margin-block:1.75rem;clip-path:var(--clip-tr)}
.prose blockquote{
  margin:1.75rem 0;padding:1.1rem 1.5rem;
  border-left:var(--rule-bold) solid var(--red);
  background:var(--paper-2);font-size:1.05rem;
}

.post-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,.6rem + 1.4vw,1.75rem);list-style:none;margin:0;padding:0;
}
.post-card{
  background:var(--paper);border:var(--hairline) solid var(--rule);
  border-top:var(--rule-heavy) solid var(--ink);
  padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;
  transition:border-color .2s var(--ease);
}
.post-card:hover{border-color:var(--ink)}
.post-card h2{font-size:1.3rem;margin:0}
.post-card h2 a{color:var(--text)}
.post-card h2 a:hover{color:var(--red)}
.post-meta{font-family:var(--font-mono);font-size:var(--fs-meta);
  letter-spacing:var(--tr-meta);text-transform:uppercase;color:var(--text-3);font-weight:600}
.post-card p{font-size:.94rem;color:var(--text-2);margin:0}
@media (max-width:1024px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.post-grid{grid-template-columns:1fr}}

.nf{text-align:center;max-width:46rem;margin-inline:auto}
.nf-code{
  font-family:var(--font-display);font-weight:800;line-height:.8;
  font-size:clamp(6rem,3rem + 16vw,13rem);color:var(--paper-3);
  margin:0 0 -.3em;letter-spacing:-.02em;
}
.nf h1{font-size:var(--fs-h1);position:relative}
.nf p{color:var(--text-2);font-size:var(--fs-lede);margin-bottom:1.75rem}
.nf-links{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}

.search-form{display:flex;gap:.5rem;max-width:30rem;margin-top:1.5rem}
.search-form input[type=search]{
  flex:1;min-width:0;padding:.95rem 1.1rem;font:inherit;font-size:1rem;
  border:var(--hairline) solid var(--rule);background:var(--white);color:var(--text);border-radius:0;
}
.search-form input[type=search]:focus-visible{outline:3px solid var(--red-500);outline-offset:1px}
.pagination{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:2.5rem}
.pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;
  padding:0 .7rem;border:var(--hairline) solid var(--rule);color:var(--text-2);
  font-family:var(--font-mono);font-size:var(--fs-meta);font-weight:600;
  text-decoration:none;
}
.pagination .page-numbers:hover{border-color:var(--red);color:var(--red)}
.pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
