/* ==========================================================================
   Journal (blog) — loaded after style.css, uses its tokens only
   ========================================================================== */
.section--tight{ padding-top:clamp(20px,3vw,40px); }

/* Index: lead post */
.journal-lead{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  background:var(--paper); border-radius:var(--radius); overflow:hidden; text-decoration:none; color:inherit;
  margin-bottom:clamp(32px,4vw,56px); transition:.35s var(--ease);
}
.journal-lead:hover{ box-shadow:0 14px 40px rgba(27,53,104,.12); }
.journal-lead__media{ aspect-ratio:4/3; overflow:hidden; }
.journal-lead__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.journal-lead:hover .journal-lead__media img{ transform:scale(1.04); }
.journal-lead__body{ padding:clamp(26px,4vw,56px); display:flex; flex-direction:column; justify-content:center; gap:14px; }
.journal-lead__body h2{ color:var(--navy); }
.journal-lead__body p{ color:#48525B; }
.journal-badge{
  display:inline-block; margin-right:10px; padding:3px 9px; border-radius:var(--radius);
  background:var(--navy); color:var(--white); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
}

/* Index: grid */
.journal-grid{ display:grid; gap:clamp(20px,3vw,32px); grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
.journal-card{
  display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--white);
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:.35s var(--ease);
}
.journal-card:hover{ transform:translateY(-3px); box-shadow:0 12px 34px rgba(27,53,104,.1); }
.journal-card__media{ aspect-ratio:3/2; overflow:hidden; }
.journal-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.journal-card__body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:8px; }
.journal-card__body h3{ font-family:var(--display); font-weight:600; font-size:1.18rem; line-height:1.3; color:var(--navy); }
.journal-card__body p{ font-size:.92rem; color:#48525B; }
.journal-card__date{ font-size:.8rem !important; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep) !important; }

/* Post */
.post-head{ padding-bottom:clamp(20px,3vw,36px); }
.post-head__inner{ max-width:860px; }
.post-head .eyebrow a{ color:inherit; text-decoration:none; }
.post-meta{ margin-top:14px; font-size:.92rem; color:var(--grey); }
.post-hero{ max-width:1100px; margin:0 auto clamp(28px,4vw,48px); }
.post-hero img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius); display:block; }
.post-body{ max-width:760px; font-size:1.06rem; line-height:1.75; padding-bottom:var(--section-y); }
.post-body > * + *{ margin-top:1.1em; }
.post-body h2{ font-family:var(--display); font-weight:700; font-size:clamp(1.45rem,2.2vw,1.9rem); color:var(--navy); line-height:1.25; margin-top:1.8em; }
.post-body ul{ padding-left:1.2em; }
.post-body li + li{ margin-top:.4em; }
.post-body a{ color:var(--navy); text-underline-offset:3px; }
.post-answer{
  font-family:var(--display); font-style:italic; font-size:clamp(1.2rem,1.8vw,1.42rem); line-height:1.5;
  color:var(--navy); padding-bottom:1.1em; border-bottom:1px solid var(--line);
}
.post-faq{ margin-top:2.6em !important; padding:clamp(22px,3vw,32px); background:var(--paper); border-radius:var(--radius); }
.post-faq h2{ margin-top:0; font-size:1.3rem; }
.post-faq__item{ border-top:1px solid var(--line); padding:14px 0; }
.post-faq__item:first-of-type{ margin-top:12px; }
.post-faq__item summary{ cursor:pointer; font-weight:600; color:var(--navy); min-height:28px; }
.post-faq__item p{ margin-top:8px; font-size:.98rem; color:#48525B; }
.post-tags{ list-style:none; padding:0 !important; display:flex; flex-wrap:wrap; gap:8px; }
.post-tags li{ margin:0 !important; padding:4px 11px; border-radius:999px; background:var(--gold-pale); color:var(--navy); font-size:.8rem; }
.post-nav{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; margin-top:2.4em !important; }
.post-nav__link{
  display:flex; flex-direction:column; gap:4px; padding:18px 20px; border:1px solid var(--line); border-radius:var(--radius);
  text-decoration:none; color:var(--navy) !important; font-family:var(--display); font-weight:600; line-height:1.35;
}
.post-nav__link span{ font-family:var(--body); font-weight:600; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); }
.post-nav__link--next{ text-align:right; }
.post-nav__link:hover{ border-color:var(--navy); }

/* Three-up photo gallery inside a post */
.post-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.post-gallery figure{ margin:0; }
.post-gallery img{ width:100%; height:auto; aspect-ratio:1200/805; object-fit:cover; border-radius:var(--radius); display:block; }
.post-gallery figcaption{ margin-top:6px; font-size:.82rem; color:var(--grey); }
@media (max-width:560px){ .post-gallery{ grid-template-columns:1fr; } }
