.blog-hero{padding:105px clamp(20px,7vw,110px) 80px;background:linear-gradient(120deg,#fff4e7,#f2f8f5)}
.blog-hero .inner{max-width:880px}
.blog-hero h1,.article-header h1{font:700 clamp(3rem,6vw,5.7rem)/.98 Newsreader,serif;letter-spacing:-.04em;margin:0}
.blog-hero .lede{max-width:760px}
.post-list{padding:80px clamp(20px,7vw,110px) 110px}
.post-grid{display:grid;gap:26px;max-width:1060px}
.post-card{display:grid;grid-template-columns:280px 1fr;gap:34px;padding:24px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow);align-items:center}
.post-card img{width:100%;height:210px;object-fit:cover;border-radius:18px}
.post-date{color:var(--berry);font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.post-card h2{font:700 clamp(2rem,4vw,3.3rem)/1.05 Newsreader,serif;margin:0 0 14px}
.post-card p{color:var(--muted);margin:0 0 20px}
.post-card .read-link{color:var(--berry);font-weight:700}
.article-header{padding:90px clamp(20px,7vw,110px) 65px;background:#f7ece7}
.article-header .inner,.article-body{max-width:820px;margin:0 auto}
.article-header h1{font-size:clamp(2.8rem,6vw,5.1rem)}
.article-meta{margin:22px 0 0;color:var(--muted)}
.article-body{padding:65px 20px 90px;font-size:1.08rem}
.article-image{width:100%;max-height:470px;object-fit:cover;border-radius:24px;margin:0 0 42px;box-shadow:var(--shadow)}
.article-body h2{font:700 2rem/1.15 Newsreader,serif;color:var(--berry-dark);margin:48px 0 12px}
.article-body p,.article-body li{color:#514851}
.article-body li{margin-bottom:10px}
.article-callout{margin:42px 0;padding:28px;border-left:6px solid var(--gold);border-radius:14px;background:var(--cream)}
.article-cta{margin-top:55px;padding:36px;border-radius:24px;background:var(--teal-dark);color:#fff}
.article-cta h2{color:#fff;margin-top:0}
.article-cta p{color:#d6e9e6}
.article-cta .button{background:#fff;color:var(--teal-dark)}
.breadcrumb{display:inline-block;margin-bottom:24px;color:var(--berry);font-weight:700}
@media(max-width:680px){.blog-hero{padding:75px 20px 60px}.post-list{padding:55px 20px 75px}.post-card{grid-template-columns:1fr;padding:20px}.post-card img{height:190px}.article-header{padding:65px 20px 50px}.article-body{font-size:1rem}}
