/* =========================================================
   TopiaryTree — Blog (blog.css)
   Blog index (home.php) + single post (single.php).
   Editorial magazine layout. Full-bleed via body.tt-fullbleed (theme.css).
   ========================================================= */

.tt-blog,.tt-post{font-family:var(--tt-sans);color:var(--tt-ink);background:var(--tt-bg);}
.tt-blog{padding-bottom:84px;}
.tt-blog .tt-wrap,.tt-post .tt-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.tt-blog .tt-eyebrow,.tt-post .tt-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;color:var(--tt-brass);margin-bottom:14px;}

/* ---------------- BLOG HERO ---------------- */
.tt-blog-hero{background:linear-gradient(160deg,var(--tt-green-700),var(--tt-green-900));
  padding:78px 0 70px;text-align:center;margin-bottom:56px;}
.tt-blog-hero .tt-eyebrow{color:var(--tt-brass-lt);}
.tt-blog-hero h1{font-family:var(--tt-serif);font-weight:600;font-size:clamp(2.1rem,4.4vw,3.3rem);
  line-height:1.06;color:#fff !important;margin:0 0 16px;}
.tt-blog-hero p{max-width:58ch;margin:0 auto;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.82);}

/* ---------------- BLOG GRID ---------------- */
.tt-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 30px;}
.tt-blog-grid--3{grid-template-columns:repeat(3,1fr);}

/* Post card */
.tt-bpost{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tt-line);
  border-radius:6px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;}
.tt-bpost:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(29,36,32,.1);}
.tt-bpost__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--tt-bg-alt);}
.tt-bpost__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.tt-bpost:hover .tt-bpost__media img{transform:scale(1.04);}
.tt-bpost__media--none{background:linear-gradient(150deg,var(--tt-green-700),var(--tt-green-900));position:relative;}
.tt-bpost__media--none::after{content:"TopiaryTree";position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-family:var(--tt-serif);font-size:1.2rem;color:rgba(255,255,255,.5);letter-spacing:.02em;}
.tt-bpost__body{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px;}
.tt-bpost__cat{align-self:flex-start;font-family:var(--tt-sans);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600;color:var(--tt-brass);text-decoration:none;margin-bottom:11px;}
.tt-bpost__cat:hover{color:var(--tt-green-700);}
.tt-bpost__title{font-family:var(--tt-serif);font-weight:600;font-size:1.3rem;line-height:1.22;margin:0 0 12px;}
.tt-bpost__title a{color:var(--tt-ink) !important;text-decoration:none;}
.tt-bpost__title a:hover{color:var(--tt-green-700) !important;}
.tt-bpost__excerpt{color:var(--tt-muted);font-size:.94rem;line-height:1.65;margin:0 0 18px;}
.tt-bpost__meta{margin-top:auto;font-size:.8rem;color:var(--tt-muted);letter-spacing:.02em;display:flex;
  align-items:center;gap:8px;flex-wrap:wrap;}
.tt-bpost__meta span:first-child{color:var(--tt-green-700);font-weight:500;}
.tt-bpost__dot{opacity:.5;}

/* Featured lead post spans the row */
.tt-bpost--lead{grid-column:1 / -1;flex-direction:row;align-items:stretch;}
.tt-bpost--lead .tt-bpost__media{flex:0 0 56%;aspect-ratio:auto;min-height:340px;}
.tt-bpost--lead .tt-bpost__body{justify-content:center;padding:44px 46px;}
.tt-bpost--lead .tt-bpost__title{font-size:2rem;line-height:1.12;}
.tt-bpost--lead .tt-bpost__excerpt{font-size:1.02rem;}

/* ---------------- BLOG PAGINATION ---------------- */
.tt-blog .pagination,
.tt-blog nav.pagination{margin:56px 0 8px;}
.tt-blog .nav-links{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;}
.tt-blog .nav-links .page-numbers{font-family:var(--tt-sans);font-size:.9rem;min-width:42px;height:42px;
  line-height:42px;text-align:center;padding:0 8px;border:1px solid var(--tt-line);border-radius:3px;
  color:var(--tt-ink);background:#fff;text-decoration:none;}
.tt-blog .nav-links .page-numbers.current,
.tt-blog .nav-links a.page-numbers:hover{background:var(--tt-green-900);color:#fff;border-color:var(--tt-green-900);}

/* ---------------- SINGLE POST ---------------- */
.tt-post-hero{background:linear-gradient(160deg,var(--tt-green-700),var(--tt-green-900));padding:60px 0 56px;}
.tt-post-hero__inner{max-width:820px;}
.tt-post-breadcrumb{font-size:.76rem;letter-spacing:.03em;color:rgba(255,255,255,.6);margin-bottom:22px;}
.tt-post-breadcrumb a{color:rgba(255,255,255,.78);text-decoration:none;}
.tt-post-breadcrumb a:hover{color:var(--tt-brass-lt);}
.tt-post-breadcrumb span{margin:0 7px;opacity:.5;}
.tt-post-cat{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  color:var(--tt-green-900);background:var(--tt-brass-lt);padding:6px 13px;border-radius:2px;text-decoration:none;margin-bottom:18px;}
.tt-post-cat:hover{background:#fff;}
.tt-post-title{font-family:var(--tt-serif);font-weight:600;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;
  color:#fff !important;margin:0 0 20px;}
.tt-post-meta{font-size:.86rem;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.tt-post-meta__dot{opacity:.5;}

/* Hero figure (overlaps the green band) */
.tt-post-figure{max-width:1000px;margin:-40px auto 0;padding:0 24px;}
.tt-post-figure img{width:100%;border-radius:6px;display:block;box-shadow:0 20px 50px rgba(29,36,32,.16);}

/* Article body — readable measure */
.tt-post-content{max-width:740px;margin:0 auto;padding:54px 0 20px;}
.tt-post-content p{font-size:1.08rem;line-height:1.8;color:#33403a;margin:0 0 1.4em;}
.tt-post-content h2{font-family:var(--tt-serif);font-weight:600;font-size:1.7rem;line-height:1.2;
  color:var(--tt-ink) !important;margin:1.8em 0 .6em;}
.tt-post-content h3{font-family:var(--tt-serif);font-weight:600;font-size:1.35rem;color:var(--tt-ink) !important;margin:1.5em 0 .5em;}
.tt-post-content a{color:var(--tt-green-700);text-decoration:underline;text-underline-offset:2px;}
.tt-post-content a:hover{color:var(--tt-brass);}
.tt-post-content ul,.tt-post-content ol{font-size:1.06rem;line-height:1.75;color:#33403a;margin:0 0 1.4em;padding-left:1.3em;}
.tt-post-content li{margin:0 0 .5em;}
.tt-post-content img{max-width:100%;height:auto;border-radius:5px;margin:1.2em 0;}
.tt-post-content blockquote{border-left:3px solid var(--tt-brass);padding:6px 0 6px 22px;margin:1.6em 0;
  font-family:var(--tt-serif);font-style:italic;font-size:1.2rem;color:var(--tt-green-700);}

.tt-post-tags{margin:34px 0 0;font-size:.82rem;color:var(--tt-muted);}
.tt-post-tags span{color:var(--tt-ink);font-weight:600;margin-right:6px;}
.tt-post-tags a{display:inline-block;color:var(--tt-green-700);text-decoration:none;border:1px solid var(--tt-line);
  border-radius:999px;padding:4px 13px;margin:0 6px 8px 0;font-size:.8rem;}
.tt-post-tags a:hover{background:var(--tt-green-900);color:#fff;border-color:var(--tt-green-900);}

/* Author E-E-A-T box */
.tt-author{display:flex;gap:22px;align-items:flex-start;margin:44px 0 0;padding:30px;
  background:var(--tt-bg-alt);border:1px solid var(--tt-line);border-radius:8px;}
.tt-author__media{flex:0 0 auto;}
.tt-author__avatar{width:72px;height:72px;border-radius:50%;display:block;object-fit:cover;}
.tt-author__eyebrow{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tt-brass);font-weight:600;}
.tt-author__name{font-family:var(--tt-serif);font-weight:600;font-size:1.25rem;color:var(--tt-ink) !important;margin:5px 0 9px;}
.tt-author__bio{font-size:.94rem;line-height:1.65;color:var(--tt-muted);margin:0;}

/* Related */
.tt-post-related{padding:72px 0 8px;}
.tt-post .tt-sec-head--center{text-align:center;margin-bottom:38px;}
.tt-post .tt-sec-head--center h2{font-family:var(--tt-serif);font-weight:600;font-size:1.9rem;color:var(--tt-ink) !important;margin:6px 0 0;}

/* Post CTA band */
.tt-post-cta{margin-top:72px;background:var(--tt-green-900);padding:72px 0;text-align:center;}
.tt-post-cta h2{font-family:var(--tt-serif);font-weight:600;font-size:clamp(1.7rem,3vw,2.4rem);color:#fff !important;margin:0 0 14px;}
.tt-post-cta p{color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.7;margin:0 auto 28px;max-width:52ch;}
.tt-post-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.tt-post-cta .tt-btn--light{background:#fff;color:var(--tt-green-900) !important;display:inline-block;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:15px 30px;border-radius:3px;text-decoration:none;}
.tt-post-cta .tt-btn--light:hover{background:var(--tt-brass);color:#fff !important;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:900px){
  .tt-blog-grid,.tt-blog-grid--3{grid-template-columns:1fr 1fr;}
  .tt-bpost--lead{flex-direction:column;}
  .tt-bpost--lead .tt-bpost__media{flex:none;aspect-ratio:16/9;min-height:0;}
  .tt-bpost--lead .tt-bpost__body{padding:28px 26px;}
  .tt-bpost--lead .tt-bpost__title{font-size:1.6rem;}
}
@media (max-width:600px){
  .tt-blog-grid,.tt-blog-grid--3{grid-template-columns:1fr;}
  .tt-blog-hero{padding:56px 0 50px;margin-bottom:40px;}
  .tt-post-figure{margin-top:-24px;}
  .tt-post-content{padding:40px 0 16px;}
  .tt-author{flex-direction:column;gap:16px;}
}
