/* ===== BLOGS / JOURNAL ===== */
.bl-head{padding:clamp(120px,16vw,190px) 0 0;}
.bl-title{font-size:clamp(64px,14vw,200px);line-height:.86;margin:.12em 0 0;}
.bl-sub{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,34px);color:var(--brown);margin:18px 0 0;}

/* featured post */
.feat-post{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:center;
  margin:clamp(40px,6vw,70px) 0 clamp(30px,4vw,50px);}
.fp-media{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--sand);box-shadow:var(--paper-shadow);}
.fp-media image-slot{display:block;transition:transform .9s var(--ease);}
.feat-post:hover .fp-media image-slot{transform:scale(1.04);}
.fp-flag{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;
  background:var(--terra);padding:5px 12px;border-radius:999px;margin-bottom:18px;}
.fp-title{font-size:clamp(30px,4vw,58px);font-weight:550;margin:.1em 0 .3em;line-height:1.02;}
.feat-post:hover .fp-title{color:var(--warm-brown,#7A5C43);}
.fp-excerpt{color:var(--ink-soft);font-size:17.5px;margin:0 0 18px;max-width:46ch;}
.fp-read{font-size:16px;}

/* category + meta shared */
.post-cat{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin:0 0 6px;font-weight:600;}
.post-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--brown);letter-spacing:.04em;margin-top:10px;}
.post-meta .dot{opacity:.5;}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,34px);padding:clamp(22px,3vw,34px) 0 clamp(26px,4vw,40px);}
.filter{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.5;padding:6px 0;position:relative;transition:opacity .3s;}
.filter:hover{opacity:.85;}
.filter.active{opacity:1;}
.filter.active::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--terra);border-radius:2px;}

/* post grid */
.post-wrap{padding-bottom:clamp(50px,8vw,90px);}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,48px) clamp(20px,2.4vw,36px);}
.post{display:flex;flex-direction:column;}
.post-media{aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--sand);margin-bottom:18px;
  box-shadow:0 24px 46px -38px rgba(36,31,26,.45);}
.post-media image-slot{display:block;transition:transform .8s var(--ease);}
.post:hover .post-media image-slot{transform:scale(1.05);}
.post-title{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,28px);line-height:1.12;margin:0 0 8px;transition:color .3s;}
.post:hover .post-title{color:var(--terra);}
.post-excerpt{color:var(--ink-soft);font-size:15.5px;margin:0;line-height:1.5;}
.post.hide{display:none;}
.mb-fill{display:block;margin-top:6px;font-family:monospace;font-size:12.5px;letter-spacing:.03em;color:var(--terra);opacity:.85;}
.post-excerpt.is-ph{font-family:monospace;font-size:13px;color:var(--terra);opacity:.82;}
.fp-excerpt .mb-fill{font-size:13px;}
.post.flowing{animation:flowIn .55s var(--ease) both;}
@keyframes flowIn{from{opacity:0;transform:translateY(22px) scale(.98);}to{opacity:1;transform:none;}}

/* newsletter cta */
.bl-cta{padding:clamp(60px,9vw,110px) 0 clamp(70px,10vw,120px);}
.bl-cta-inner{text-align:center;max-width:640px;margin:0 auto;}
.bl-cta-inner h2{font-size:clamp(36px,6vw,82px);}
.bl-cta-inner p{color:var(--ink-soft);font-size:clamp(16px,1.7vw,20px);margin:14px auto 28px;max-width:46ch;}

@media(max-width:820px){
  .feat-post{grid-template-columns:1fr;}
  .post-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .post-grid{grid-template-columns:1fr;}
}

/* ============================================================
   BLOGS PAGE — MOBILE OPTIMISATION  (comprehensive rewrite)
   ============================================================ */
@media(max-width:820px){
  .bl-title{font-size:clamp(52px,16vw,140px);}
  .bl-head{padding:clamp(90px,14vw,140px) 0 0;}
  .bl-sub{font-size:clamp(16px,4.5vw,24px);}
  .fp-title{font-size:clamp(24px,7vw,44px);}
  .fp-excerpt{font-size:clamp(14px,3.5vw,17px);}
  .post-title{font-size:clamp(18px,5vw,26px);}
  .filters{gap:clamp(10px,3vw,22px);flex-wrap:wrap;}
  .bl-cta-inner h2{font-size:clamp(28px,9vw,60px);}
  .bl-cta-inner p{font-size:clamp(14px,3.5vw,17px);}
}
@media(max-width:480px){
  .bl-title{font-size:clamp(44px,14vw,100px);}
  .post-grid{grid-template-columns:1fr;}
}
