/* ==========================================================================
   UBCG — News archive (home.php) + single article (single.php).
   Charter: square corners (4px on photos, like project cards), Outfit,
   green accents. Enqueued on the posts page, categories and single posts.
   ========================================================================== */

/* ---- Shared: hero lead ---- */
.page-lead{margin:14px 0 0;max-width:52ch;color:var(--muted);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.6}

/* News hero: clear the 88px fixed header with real breathing room
   (the shared .page-hero top padding is too tight here) */
.blog .page-hero,.archive .page-hero{padding-top:calc(88px + clamp(40px,6vw,76px))}

/* ---- Archive grid ---- */
.news-wrap{padding-block:clamp(40px,6vw,80px)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px)}
.ncard{display:flex;flex-direction:column;text-decoration:none}
.ncard-img{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:var(--bone)}
.ncard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ncard:hover .ncard-img img{transform:scale(1.05)}
.ncard-ph{display:block;width:100%;height:100%;background:radial-gradient(135% 120% at 15% 0%,#12341f 0%,#0e1c16 60%);position:relative}
.ncard-ph::after{content:"";position:absolute;inset:22%;background:rgba(149,194,61,.7);-webkit-mask:var(--u-mask) center/contain no-repeat;mask:var(--u-mask) center/contain no-repeat}
.ncard-meta{display:flex;gap:10px;align-items:center;margin:16px 0 8px;font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.ncard-meta b{color:var(--green);font-weight:600}
.ncard-t{font-size:clamp(1.15rem,1.55vw,1.4rem);font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);transition:color .2s}
.ncard:hover .ncard-t{color:var(--green)}
.ncard-x{margin-top:8px;color:var(--muted);font-size:.94rem;line-height:1.6}
.ncard-more{margin-top:12px;font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--green);display:inline-flex;gap:8px;align-items:center}
.ncard-more i{font-style:normal;transition:transform .2s}
.ncard:hover .ncard-more i{transform:translateX(4px)}

/* pagination */
.news-wrap .pagination{margin-top:clamp(36px,5vw,60px)}
.news-wrap .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}
.news-wrap .nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;transition:background .18s,color .18s,border-color .18s}
.news-wrap .nav-links .page-numbers.current,.news-wrap .nav-links .page-numbers:hover{background:var(--green);border-color:var(--green);color:#fff}

/* empty state */
.news-empty{text-align:center;padding-block:clamp(30px,5vw,70px);max-width:46ch;margin-inline:auto}
.news-empty-t{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;margin:0 0 8px}
.news-empty p{color:var(--muted);margin:0 0 22px}

/* ---- Single article: dark charter hero ---- */
#readBar{position:fixed;top:0;left:0;height:4px;width:0;z-index:120;background:linear-gradient(90deg,rgb(0,76,51) 0%,rgb(10,92,63) 32%,rgb(58,172,78) 72%,rgb(149,194,61) 100%)}
.post-hero2{position:relative;overflow:hidden;background:radial-gradient(135% 120% at 15% 0%,#12341f 0%,#0e1c16 55%,#0b1610 100%);color:#fff;padding:calc(88px + clamp(36px,5.5vw,64px)) 0 clamp(110px,15vw,170px)}
.post-hero2::after{content:"";position:absolute;right:-4%;bottom:-16%;width:min(34vw,320px);aspect-ratio:209.64/241.63;background:#eaf1ec;-webkit-mask:var(--u-mask) center/contain no-repeat;mask:var(--u-mask) center/contain no-repeat;opacity:.05;pointer-events:none}
.ph-sq{position:absolute;top:96px;right:9%;width:clamp(44px,4.6vw,64px);aspect-ratio:1;background:rgba(149,194,61,.4);pointer-events:none}
.ph-ring{position:absolute;left:-46px;bottom:-56px;width:clamp(120px,12vw,180px);aspect-ratio:1;border:clamp(13px,1.5vw,20px) solid rgba(58,172,78,.3);border-radius:50%;pointer-events:none}
.post-meta2{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 6px}
.post-chip{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid rgba(149,194,61,.55);color:var(--lime-logo);font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:background .18s,color .18s}
.post-chip:hover{background:var(--lime-logo);color:#0e1c16}
.post-read{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a9c3b2}
.post-title2{margin:.5em 0 .7em;font-size:clamp(1.9rem,4.4vw,3.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;max-width:24ch;color:#fff}
.post-author{display:flex;gap:15px;align-items:center}
.post-ava{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(149,194,61,.65);box-shadow:0 10px 26px -10px rgba(0,0,0,.6)}
.post-author-txt b{display:block;font-weight:600;font-size:1rem;letter-spacing:-.01em}
.post-author-txt span{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:2px;font-size:.8rem;color:#a9c3b2}
.post-figure{position:relative;z-index:2;margin-top:calc(-1*clamp(80px,11vw,140px))}
.post-figure img{display:block;width:100%;height:auto;max-height:62vh;object-fit:cover;border-radius:4px;box-shadow:0 34px 80px -34px rgba(10,28,18,.55)}
.post-body{padding-block:clamp(36px,5vw,64px)}
.post-body p{line-height:1.75}
.post-body h2{margin-top:1.6em}
.post-body blockquote{margin:1.6em 0;padding:18px 22px;border:1px solid var(--line);background:var(--bone);font-style:italic}
.post-body img{max-width:100%;height:auto;border-radius:4px}

/* ---- "More insights" slider ---- */
.more-news{border-top:1px solid var(--line);background:var(--bone);padding-block:clamp(44px,6vw,80px)}
.more-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:clamp(20px,3vw,32px)}
.more-t{font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.02em;margin:0}
.more-ctrl{display:flex;align-items:center;gap:10px}
.more-all{margin-right:8px;font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--green);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.more-all i{font-style:normal;transition:transform .2s}
.more-all:hover i{transform:translateX(4px)}
.more-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:none;color:var(--ink);font-size:1.05rem;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.more-btn:hover{background:var(--green);border-color:var(--green);color:#fff}
.more-track{display:flex;gap:clamp(18px,2.4vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;scroll-padding-inline:var(--pad);padding-bottom:6px}
.more-track::-webkit-scrollbar{display:none}
.more-track .ncard{flex:0 0 clamp(250px,26vw,360px);scroll-snap-align:start}
@media(max-width:640px){.more-track .ncard{flex-basis:80vw}.more-all{display:none}}

/* ---- Responsive ---- */
@media(max-width:1000px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.news-grid{grid-template-columns:1fr;gap:34px}}
