/* Villa Journal — inherits the site palette from css/styles.css */
#journal .wrap{max-width:1080px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.6rem}
.post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:rgba(255,255,255,.5);
  border:1px solid rgba(23,19,16,.12);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -28px rgba(70,45,25,.55);border-color:var(--velvet)}
.pc-img{aspect-ratio:16/10;overflow:hidden;background:#e6ddcb}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.post-card:hover .pc-img img{transform:scale(1.04)}
.pc-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.pc-date{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--velvet);font-weight:700}
.pc-body h2{font-family:"Fraunces",serif;font-size:1.25rem;line-height:1.2;font-weight:600}
.pc-body p{font-size:14.5px;color:rgba(23,19,16,.72);flex:1}
.pc-more{font-weight:700;font-size:13.5px;color:var(--velvet)}

/* single post */
.post{max-width:720px;margin:0 auto}
.post .back{display:inline-block;font-size:13.5px;font-weight:700;color:var(--velvet);text-decoration:none;margin-bottom:1.4rem}
.post .back:hover{text-decoration:underline}
.post h1{margin:.4rem 0 .8rem}
.post .lede{font-size:1.12rem;line-height:1.6;color:rgba(23,19,16,.78);margin-bottom:1.6rem}
.post-cover{border-radius:16px;overflow:hidden;margin-bottom:2rem}
.post-cover img{width:100%;display:block}
.post-body{font-size:1.02rem;line-height:1.75}
.post-body h2{font-family:"Fraunces",serif;font-size:1.5rem;margin:2.2rem 0 .7rem}
.post-body h3{font-family:"Fraunces",serif;font-size:1.2rem;margin:1.7rem 0 .5rem}
.post-body p{margin-bottom:1.1rem}
.post-body ul{margin:0 0 1.2rem 1.1rem}
.post-body li{margin-bottom:.45rem}
.post-body a{color:var(--velvet);font-weight:600}
.tags{margin-top:2rem;display:flex;gap:.5rem;flex-wrap:wrap}
.tags span{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--velvet);
  border:1px solid rgba(125,42,51,.35);border-radius:999px;padding:.22rem .7rem}

/* call to action on every post */
.post-cta{max-width:720px;margin:3.6rem auto 0;padding:2rem 1.9rem;border-radius:20px;text-align:center;
  background:linear-gradient(160deg,rgba(125,42,51,.10),rgba(201,151,63,.10));border:1px solid rgba(125,42,51,.22)}
.post-cta .kicker{color:var(--velvet)}
.post-cta h3{font-family:"Fraunces",serif;font-size:1.6rem;line-height:1.15;margin:.5rem 0 .7rem}
.post-cta p{color:rgba(23,19,16,.78);max-width:520px;margin:0 auto}
.cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.center{text-align:center}
@media(max-width:640px){.post-cta{padding:1.6rem 1.2rem}.post-cta h3{font-size:1.35rem}}
