  /* ===== Blog listing page ===== */

  /* featured post — lead story treatment */
  .featured-post { padding:clamp(70px,9vw,100px) 0 clamp(50px,6vw,70px); background:#FFFFFF; }
  .featured-post .card { display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(36px,5vw,56px); align-items:center; border:1px solid #E4D8BF; }
  .featured-post .img { aspect-ratio:16/11; background-size:cover; background-position:center; }
  .featured-post .body { padding:clamp(28px,4vw,44px) clamp(28px,4vw,44px) clamp(28px,4vw,44px) 0; }
  .featured-post .eyebrow-row { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
  .featured-post .tag { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#A6821D; }
  .featured-post .meta { font-size:12.5px; color:#9A8B6C; }
  .featured-post h2 { font-family:'Fraunces',serif; font-weight:400; font-size:clamp(24px,3vw,32px); line-height:1.24; color:#1C130C; margin-bottom:16px; }
  .featured-post p { font-family:'Cormorant Garamond',serif; font-size:18px; line-height:1.72; color:#5A4F3C; margin-bottom:24px; }

  /* category filter pills — visual grouping, not JS-driven */
  .categories { padding:0 0 clamp(50px,6vw,70px); background:#FFFFFF; }
  .blog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid #EFE7D3; border-bottom:1px solid #EFE7D3; padding:22px 0; }
  .categories .row { display:flex; flex-wrap:wrap; gap:10px; }
  .categories a { font-size:12.5px; letter-spacing:.03em; color:#5A4F3C; border:1px solid #D8CBA0; padding:8px 18px; text-decoration:none; transition:all .25s ease; }
  .categories a:hover, .categories a.active { color:#F8F2E4; background:#1C130C; border-color:#1C130C; }
  .blog-search { position:relative; flex:0 0 auto; width:100%; max-width:260px; }
  .blog-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#B3A47F; pointer-events:none; }
  .blog-search input { width:100%; border:1px solid #D8CBA0; border-radius:999px; background:#FFFFFF; padding:10px 16px 10px 38px; font-family:'Inter',sans-serif; font-size:13.5px; color:#1C130C; transition:border-color .2s ease; }
  .blog-search input::placeholder { color:#B3A47F; }
  .blog-search input:focus { outline:none; border-color:#A6821D; }
  .blog-results-meta { font-size:13px; color:#9A8B6C; margin:0 0 26px; }
  .blog-empty { text-align:center; padding:clamp(50px,7vw,80px) 20px; }
  .blog-empty p { font-family:'Fraunces',serif; font-size:18px; color:#5A4F3C; margin:0 0 18px; }
  .blog-empty button { font-size:12.5px; letter-spacing:.03em; color:#F8F2E4; background:#1C130C; border:none; border-radius:999px; padding:10px 24px; cursor:pointer; transition:background .25s ease; }
  .blog-empty button:hover { background:#3E342A; }
  @media (max-width:640px) {
    .blog-toolbar { flex-direction:column; align-items:stretch; }
    .blog-search { max-width:none; }
  }

  /* post grid — responsive, not fixed to 3 */
  .post-grid { padding:0 0 clamp(90px,11vw,130px); background:#FFFFFF; }
  .post-grid .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(32px,4vw,48px) clamp(28px,3.4vw,40px); }
  .post-grid .card .img { aspect-ratio:16/11; background-size:cover; background-position:center; margin-bottom:20px; overflow:hidden; }
  .post-grid .card .img > div { width:100%; height:100%; background-size:cover; background-position:center; transition:transform .5s ease; }
  .post-grid .card:hover .img > div { transform:scale(1.04); }
  .post-grid .tag { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#A6821D; margin-bottom:10px; }
  .post-grid h3 { font-family:'Fraunces',serif; font-weight:500; font-size:18px; line-height:1.32; color:#1C130C; margin-bottom:10px; }
  .post-grid p { font-size:14.5px; line-height:1.68; color:#5A4F3C; margin-bottom:14px; }
  .post-grid .meta { font-size:12px; color:#9A8B6C; margin-bottom:12px; }
  .post-grid .link { font-size:13px; color:#1C130C; border-bottom:1px solid #A6821D; padding-bottom:2px; text-decoration:none; }

  /* newsletter capture — inline, not just in footer */
  .subscribe { padding:clamp(80px,10vw,120px) 0; background:#FFFFFF; border-top:1px solid #EFE7D3; border-bottom:1px solid #EFE7D3; }
  .subscribe .row { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(40px,6vw,80px); align-items:center; }
  .subscribe .eyebrow { margin-bottom:14px; }
  .subscribe h2 { font-family:'Fraunces',serif; font-weight:400; font-size:clamp(24px,3vw,32px); color:#1C130C; line-height:1.25; }
  .subscribe .intro p { font-family:'Cormorant Garamond',serif; font-size:17.5px; line-height:1.65; color:#5A4F3C; margin-top:14px; max-width:440px; }
  .subscribe form { display:flex; align-items:center; background:#FFFFFF; border:1.5px solid #1C130C; border-radius:999px; padding:5px; }
  .subscribe input { flex:1; min-width:0; border:none; background:transparent; padding:10px 8px 10px 18px; font-family:'Inter',sans-serif; font-size:14.5px; color:#1C130C; }
  .subscribe input::placeholder { color:#B3A47F; }
  .subscribe input:focus { outline:none; }
  .subscribe button { flex:0 0 auto; display:flex; align-items:center; gap:8px; background:#1C130C; color:#F8F2E4; border:none; border-radius:999px; padding:11px 22px; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:background .25s ease, transform .25s ease; }
  .subscribe button svg { transition:transform .25s ease; }
  .subscribe button:hover { background:#3E342A; }
  .subscribe button:hover svg { transform:translateX(2px); }
  .subscribe .fine { font-size:12px; color:#9A8B6C; margin-top:16px; margin-left:22px; }
  .subscribe .fine a { color:#A6821D; }
  .subscribe .blog-subscribe-msg { font-size:13px; font-weight:500; margin-top:12px; margin-left:22px; }

  @media (max-width:900px) {
    .featured-post .card { grid-template-columns:1fr; }
    .featured-post .body { padding:0 clamp(20px,4vw,32px) clamp(28px,4vw,36px); }
    .post-grid .grid { grid-template-columns:repeat(2,1fr); }
    .subscribe .row { grid-template-columns:1fr; gap:32px; }
    .subscribe .intro p { max-width:none; }
  }
  @media (max-width:600px) {
    .post-grid .grid { grid-template-columns:1fr; }
  }
