    /* Self-hosted Open Sans (latin variable, 400–800) one file, no third-party origin */
    @font-face{
      font-family:"Open Sans";
      font-style:normal;
      font-weight:400 800;
      font-display:swap;
      src:url(../fonts/open-sans-latin.woff2) format("woff2");
      unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
    }
    h1,h2,h3,h4,p,ul,figure{margin:0}
    .section-head{text-align:center;max-width:46rem;margin:0 auto clamp(1.5rem,3vw,2.5rem)}
    .section-head h2{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2;color:var(--green-900);font-weight:800}
    .section-head h2 b{color:var(--red);font-weight:inherit}
    .section-head p{color:var(--muted);margin-top:.6rem}
    .eyebrow{display:inline-block;color:var(--green-700);font-weight:700;letter-spacing:.08em;
      text-transform:uppercase;font-size:.8125rem;margin-bottom:.5rem}

    /* ---------- Page hero / breadcrumb banner ---------- */
    .page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
      background:linear-gradient(180deg,var(--cream) 0%,#fdfbf6 100%)}
    .page-hero .wrap{position:relative;z-index:2;padding-block:clamp(2.25rem,5vw,3.75rem);text-align:center}
    .page-hero .eyebrow{margin-bottom:.45rem}
    .page-hero h1{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.12;color:var(--green-900);
      font-weight:800;letter-spacing:-.01em}
    .page-hero h1 b{color:var(--red);font-weight:inherit}
    .page-hero p{color:var(--muted);max-width:44rem;margin:.8rem auto 0;font-size:1.02rem}
    .breadcrumb{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.45rem;
      font-size:.85rem;color:var(--muted);margin-top:1.1rem}
    .breadcrumb a{color:var(--green-700);font-weight:600}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb svg{width:1em;height:1em;color:var(--line)}
    .breadcrumb [aria-current]{color:var(--ink);font-weight:600}
    .page-hero .leaf-deco{position:absolute;color:var(--green-600);opacity:.08;z-index:1;pointer-events:none}
    .page-hero .leaf-deco.one{width:170px;height:170px;top:-30px;left:-30px;transform:rotate(20deg)}
    .page-hero .leaf-deco.two{width:210px;height:210px;bottom:-60px;right:-40px;transform:rotate(-140deg)}

    /* ---------- Featured post ---------- */
    .featured-card{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:#fff;
      border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
      transition:transform .25s,box-shadow .25s}
    .featured-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
    .featured-media{position:relative;overflow:hidden;min-height:280px;background:var(--cream)}
    .featured-media img{width:100%;height:100%;object-fit:cover}
    .featured-media .cat{position:absolute;top:1rem;left:1rem;z-index:2;background:var(--green-700);color:#fff;
      font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .65rem;border-radius:6px}
    .featured-flag{position:absolute;top:1rem;right:1rem;z-index:2;background:var(--gold);color:#3a2c08;
      font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .65rem;border-radius:6px}
    .featured-body{padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center}
    .featured-body .pmeta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.8rem;
      font-weight:600;margin-bottom:.7rem}
    .featured-body .pmeta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.85}
    .featured-body h2{font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.22;color:var(--green-900);font-weight:800}
    .featured-body h2 a:hover{color:var(--red)}
    .featured-body p{color:var(--muted);margin-top:.8rem;line-height:1.6}
    .featured-body .read-more{margin-top:1.4rem}

    /* ---------- Blog toolbar (category filter) ---------- */
    .blog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
      gap:1rem 1.5rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
    .cat-filter{display:flex;flex-wrap:wrap;gap:.5rem}
    .cat-filter a{font-size:.85rem;font-weight:600;color:var(--ink);border:1px solid var(--line);
      background:#fff;border-radius:999px;padding:.5rem 1.05rem;transition:.18s}
    .cat-filter a:hover{border-color:var(--green-600);color:var(--green-700);background:var(--cream)}
    .cat-filter a.is-active{background:var(--green-700);border-color:var(--green-700);color:#fff}
    .blog-count{font-size:.85rem;color:var(--muted)}
    .blog-count b{color:var(--ink)}

    /* ---------- Blog grid (image-overlay cards) ---------- */
    .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
    .post{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;
      display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
    .post:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .post .thumb{position:relative;overflow:hidden}
    .post .thumb a{display:block}
    .post .thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .45s ease}
    .post:hover .thumb img{transform:scale(1.07)}
    .post .thumb::after{content:"";position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(to top,rgba(18,40,20,.82),rgba(18,40,20,.04) 55%)}
    .post .cat{position:absolute;top:.7rem;left:.7rem;z-index:2;background:var(--green-700);color:#fff;
      font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .55rem;border-radius:6px}
    .post .pmeta{position:absolute;left:.85rem;bottom:.65rem;z-index:2;display:flex;align-items:center;
      gap:.5rem;color:#fff;font-size:.74rem;font-weight:600}
    .post .pmeta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.85}
    .post-body{padding:1.05rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
    .post-body h3{font-size:1.02rem;color:var(--green-900);line-height:1.35}
    .post-body h3 a:hover{color:var(--red)}
    .post-body p{color:var(--muted);font-size:.84rem;line-height:1.55}
    .read-more{margin-top:auto;font-weight:600;color:var(--green-700);display:inline-flex;gap:.35rem;align-items:center;font-size:.85rem}
    .read-more svg{width:1em;height:1em;transition:transform .2s}
    .post:hover .read-more svg{transform:translateX(3px)}

    /* ---------- Pagination ---------- */
    .pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;
      margin-top:clamp(2rem,4vw,3rem)}
    .pagination a,.pagination span{min-width:2.6rem;height:2.6rem;padding:0 .5rem;display:inline-flex;
      align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;
      font-weight:600;font-size:.9rem;color:var(--ink);background:#fff;transition:.18s}
    .pagination a:hover{border-color:var(--green-600);color:var(--green-700);background:var(--cream)}
    .pagination [aria-current]{background:var(--green-700);border-color:var(--green-700);color:#fff}
    .pagination .nav-prev,.pagination .nav-next{gap:.35rem;font-size:.85rem}
    .pagination .nav-prev[aria-disabled="true"]{opacity:.45;pointer-events:none}
    .pagination svg{width:1.05rem;height:1.05rem}

    /* ---------- Newsletter CTA band ---------- */
    .band{background:linear-gradient(110deg,var(--green-900),var(--green-700));color:#fff;
      border-radius:var(--radius);padding:clamp(1.75rem,4vw,3rem);display:flex;flex-wrap:wrap;
      gap:1.5rem;align-items:center;justify-content:space-between}
    .band h2{font-size:clamp(1.5rem,3vw,2rem);color:#fff}
    .band p{color:#dbe7db;margin-top:.5rem;max-width:34rem}
    .band .cta-news{display:flex;gap:.5rem;flex-wrap:wrap;max-width:24rem;width:100%}
    .band .cta-news input{flex:1;min-width:11rem;border:1px solid rgba(255,255,255,.3);
      background:rgba(255,255,255,.1);color:#fff;border-radius:6px;padding:.8rem 1rem;font:inherit}
    .band .cta-news input::placeholder{color:#cfe3cf}
    .band .cta-news input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
    /* Phones: stack the field over a full-width Subscribe button (like the footer) */
    @media (max-width:560px){
      .band .cta-news{max-width:none}
      .band .cta-news input{flex:1 1 100%;min-width:0}
      .band .cta-news .btn{flex:1 1 100%;width:100%;justify-content:center}
    }
    @keyframes waPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.75);opacity:0}100%{opacity:0}}

    /* ---------- Responsive ---------- */
    @media (max-width:1024px){
      .blog-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:860px){
      .featured-card{grid-template-columns:1fr}
      .featured-media{min-height:220px}
    }
    @media (max-width:560px){
      .blog-grid{grid-template-columns:1fr}
      .band{flex-direction:column;align-items:flex-start}
    }

    
