/* ===========================================================
   Pioneer Pix — Blog styles (index + article pages)
   Loaded only by blog templates, on top of site.css tokens.
   =========================================================== */

/* ---- shared hero ---- */
.page-hero{padding:clamp(48px,6vw,84px) 0 clamp(26px,3vw,40px);}
.page-hero .inner{max-width:58ch;}
.page-hero h1{font-size:clamp(36px,4.8vw,60px);margin:16px 0 20px;}

/* ---- featured post ---- */
.feat{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,52px);align-items:center;
  border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;}
.feat .ph{width:100%;height:clamp(300px,34vw,420px);}
.feat .bd{padding:clamp(28px,3vw,46px) clamp(28px,3vw,46px) clamp(28px,3vw,46px) 0;}
.feat .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);display:flex;gap:14px;align-items:center;}
.feat h2{font-size:clamp(26px,3vw,40px);margin:16px 0 14px;}
.feat p{font-family:var(--spectral);font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:46ch;}
.feat .rd{margin-top:22px;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;color:var(--ink);}
.feat .rd .arr{transition:transform .18s ease;}
.feat:hover .rd .arr{transform:translateX(3px);}

/* ---- post grid ---- */
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:clamp(34px,4vw,52px);}
.post .ph{height:200px;border-bottom:1px solid var(--line);}
.post .bd{padding:24px 26px 28px;}
.post .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;}
.post .meta .d{width:9px;height:9px;border-radius:50%;}
.post h3{font-size:22px;margin:11px 0 9px;line-height:1.15;}
.post p{font-size:14.5px;color:var(--muted);line-height:1.55;}
.post .rd{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;color:var(--blue);}

/* ---- cover image filling a .ph box ---- */
.cover-wrap{overflow:hidden;}
.cover-img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- newsletter ---- */
.news{border:1px solid var(--line);border-radius:20px;background:var(--paper-2);
  padding:clamp(30px,4vw,48px);display:grid;grid-template-columns:1.2fr auto;gap:28px;align-items:center;}
.news h2{font-size:clamp(22px,2.6vw,32px);max-width:20ch;}
.news p{font-family:var(--spectral);font-size:15px;color:var(--ink-2);margin-top:10px;max-width:46ch;}
.news form{display:flex;gap:10px;flex-wrap:wrap;}
.news input{font-family:var(--sans);font-size:14.5px;padding:14px 18px;border-radius:44px;border:1px solid var(--line);
  background:#fff;min-width:230px;color:var(--ink);}
.news input:focus{outline:none;border-color:var(--blue);}

/* ===========================================================
   Article (single post) page
   =========================================================== */
.back-link{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);display:inline-block;margin-bottom:18px;}
.post-byline{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:14px;}

.post-cover{border-radius:18px;overflow:hidden;border:1px solid var(--line);max-height:520px;}
.post-cover img{width:100%;max-height:520px;object-fit:cover;display:block;}

.article{max-width:68ch;margin:clamp(28px,4vw,44px) auto 0;}
.article > *:first-child{margin-top:0;}
.article p{font-family:var(--spectral);font-size:18px;line-height:1.75;color:var(--ink-2);margin:0 0 1.2em;}
.article h2{font-size:clamp(24px,2.6vw,32px);margin:1.6em 0 .5em;}
.article h3{font-size:21px;margin:1.4em 0 .4em;}
.article ul,.article ol{font-family:var(--spectral);font-size:18px;line-height:1.7;color:var(--ink-2);margin:0 0 1.2em;padding-left:1.3em;}
.article li{margin:.4em 0;}
.article blockquote{border-left:3px solid var(--blue);padding:.4em 0 .4em 1.1em;margin:1.4em 0;
  font-family:var(--spectral);font-style:italic;color:var(--ink);}
.article a{color:var(--blue);text-decoration:underline;}
.article strong{color:var(--ink);}

.article-cta{max-width:68ch;margin:clamp(36px,5vw,56px) auto 0;padding-top:clamp(28px,4vw,40px);
  border-top:1px solid var(--line);text-align:center;}
.article-cta h3{font-size:24px;margin-bottom:18px;}

/* ---- responsive ---- */
@media(max-width:880px){
  .feat{grid-template-columns:1fr;}
  .feat .ph{order:-1;}
  .feat .bd{padding:0 clamp(24px,4vw,34px) clamp(28px,4vw,36px);}
  .post-grid{grid-template-columns:1fr;}
  .news{grid-template-columns:1fr;}
}
