/* BLOG HERO */
.blog-hero{
  min-height:48vh;display:flex;align-items:center;
  padding:140px 0 60px;
  background:
    radial-gradient(ellipse 80% 50% at 75% 20%, rgba(143,185,168,.10), transparent 60%),
    var(--bg);
}
.blog-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-1px;margin-bottom:18px}
.blog-hero p{color:var(--cream-dim);font-weight:300;font-size:1.1rem;max-width:560px}

/* BLOG GRID */
#blog-list{padding-top:0;padding-bottom:130px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{
  background:var(--surface);border:1px solid var(--line);border-radius:20px;
  overflow:hidden;transition:.4s;display:flex;flex-direction:column;
}
.post-card:hover{transform:translateY(-6px);border-color:var(--sage-deep)}
.post-card .pc-img{width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(160deg,var(--surface),var(--bg-2))}
.post-card .pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.post-card .pc-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.post-card .pc-date{font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage);margin-bottom:12px}
.post-card h3{font-size:1.3rem;margin-bottom:12px}
.post-card p{color:var(--cream-dim);font-size:.92rem;font-weight:300;flex:1;margin-bottom:18px}
.post-card .pc-link{font-size:.88rem;color:var(--gold);display:inline-flex;align-items:center;gap:8px}
.empty-state{
  text-align:center;padding:80px 20px;color:var(--cream-dim);
  border:1px dashed var(--line);border-radius:20px;font-weight:300;
}

/* SINGLE POST */
.post-hero{
  padding:150px 0 50px;
  background:
    radial-gradient(ellipse 80% 50% at 75% 20%, rgba(143,185,168,.08), transparent 60%),
    var(--bg);
}
.post-hero .back-link{font-size:.85rem;color:var(--sage);display:inline-flex;align-items:center;gap:8px;margin-bottom:30px}
.post-hero .post-date{font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:18px;display:block}
.post-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-1px;max-width:780px}
.post-cover{max-width:1180px;margin:0 auto 10px;padding:0 32px}
.post-cover img{width:100%;max-height:480px;object-fit:cover;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow)}
.post-body{padding:60px 0 120px}
.post-content{max-width:720px;margin:0 auto;color:var(--cream-dim);font-size:1.08rem;font-weight:300}
.post-content p{margin-bottom:22px}
.post-content h2{color:var(--cream);font-size:1.7rem;margin:40px 0 18px}
.post-content h3{color:var(--cream);font-size:1.35rem;margin:32px 0 14px}
.post-content a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(201,168,106,.4)}
.post-content strong{color:var(--cream);font-weight:500}
.post-content blockquote{
  border-left:2px solid var(--gold);padding-left:22px;margin:30px 0;
  font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--cream);
}
.post-content ul,.post-content ol{margin:0 0 22px 22px}
.post-content li{margin-bottom:8px}
.post-content img{width:100%;border-radius:14px;margin:24px 0;border:1px solid var(--line)}
.post-foot-nav{max-width:720px;margin:50px auto 0;padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between}
.post-foot-nav a{font-size:.9rem;color:var(--sage)}

@media(max-width:960px){
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .blog-grid{grid-template-columns:1fr}
  .post-content{padding:0 4px}
}
