/* =========================================================
   Concrete Leveling Los Angeles: blog and article pages
   ========================================================= */
.blog-page{background:#fff}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:var(--muted)}
.crumbs a{text-decoration:underline;text-underline-offset:3px}

/* blog index */
.blog-hero{background:linear-gradient(180deg,#eef5ea,#fff);padding:150px 0 40px;text-align:center}
.blog-hero .crumbs{justify-content:center}
.blog-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);margin:12px 0 14px}
.blog-hero p{max-width:640px;margin:0 auto;font-size:1.08rem;line-height:1.7}
.blog-list{padding:30px 0 80px}
.blog-grid{grid-template-columns:repeat(4,1fr);gap:24px}
.post-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.post-card.featured .pc-img img{height:100%;aspect-ratio:auto}
.post-card.featured .pc-body{padding:36px 36px}
.post-card.featured h3{font-size:clamp(1.5rem,2.2vw,2rem)}
.post-card.featured .pc-excerpt{font-size:1rem}

/* article */
.post-hero{background:linear-gradient(180deg,#eef5ea 0 72%,#fff 72%);padding-top:150px}
.post-hero-inner{max-width:900px;text-align:center}
.post-hero .crumbs{justify-content:center}
.post-hero h1{font-size:clamp(2rem,3.6vw,3rem);line-height:1.12;margin:14px 0 16px}
.post-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;font-size:.88rem;color:var(--muted)}
.post-meta span{display:flex;align-items:center;gap:7px}
.post-meta svg{width:16px;height:16px;color:var(--green-600)}
.post-figure{margin:34px auto 0;max-width:1000px;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px rgba(15,45,25,.2)}
.post-figure img{width:100%;height:auto}

.post-layout{display:grid;grid-template-columns:minmax(0,720px) 320px;justify-content:center;gap:64px;padding:56px 0 70px}
.post-body p{font-size:1.06rem;line-height:1.85;color:#2f3a33;margin-bottom:22px}
.post-body .post-lead{font-size:1.24rem;line-height:1.7;color:var(--ink);font-family:var(--serif)}
.post-body .post-lead::first-letter{float:left;font-size:3.6em;line-height:.85;padding:6px 10px 0 0;color:var(--green-700);font-weight:700}
.post-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#eef5ea;border-left:5px solid var(--green-600);border-radius:12px;padding:20px 22px;margin:8px 0 28px}
.post-inline-cta strong{display:block;color:var(--ink);font-size:1.02rem}
.post-inline-cta span{font-size:.92rem;color:var(--text)}

.post-aside{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:20px}
.pa-card{border:1px solid #e5e9e3;border-radius:14px;padding:22px}
.pa-card h2{font-size:1.15rem;margin-bottom:12px}
.pa-cta{background:linear-gradient(135deg,var(--green-700),var(--green-900));border:0;color:#e3ece5}
.pa-cta h2{color:#fff}
.pa-cta p{font-size:.92rem;margin-bottom:16px}
.pa-call{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-weight:700;color:#fff}
.pa-call svg{width:17px;height:17px}
.pa-services li a{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eef0ec;font-weight:600;font-size:.92rem}
.pa-services li:last-child a{border-bottom:0}
.pa-services svg{width:18px;height:18px;color:var(--green-600)}
.pa-services a:hover,.pa-posts a:hover span{color:var(--green-600)}
.pa-posts li a{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:8px 0}
.pa-posts img{width:72px;height:48px;object-fit:cover;border-radius:6px}
.pa-posts span{font-size:.86rem;font-weight:600;line-height:1.35;color:var(--ink)}

.keep-reading{background:#f4f5f1;padding:60px 0}
.kr-grid{grid-template-columns:repeat(3,1fr)}

/* call to action band */
.blog-cta{background:linear-gradient(120deg,var(--green-900),var(--green-700));padding:56px 0 100px;color:#e3ece5}
.blog-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.blog-cta h2{color:#fff;margin-bottom:6px}
.blog-cta-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.blog-cta-call{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:#fff}

@media (max-width:1180px){
  .post-layout{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
  .blog-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:991px){
  .blog-grid,.kr-grid{grid-template-columns:repeat(2,1fr)}
  .post-card.featured{grid-template-columns:1fr}
  .post-card.featured .pc-img img{aspect-ratio:16/9}
  .post-card.featured .pc-body{padding:22px}
  .post-layout{grid-template-columns:1fr}
  .post-aside{position:static}
  .blog-hero,.post-hero{padding-top:120px}
}
@media (max-width:600px){
  .blog-grid,.kr-grid{grid-template-columns:1fr}
  .post-body p{font-size:1rem}
  .post-body .post-lead{font-size:1.1rem}
  .post-figure{margin-top:24px;border-radius:12px}
  .post-layout{padding:36px 0 50px}
}
