.blog-content {
  width: min(100% - 40px, 800px);
  margin: 0 auto;
  padding: clamp(40px, 7vw, 96px) 0;
}
.blog-content h1 {
  margin: .45em 0 .3em;
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.blog-intro { font-size: clamp(1.12rem, 2.5vw, 1.35rem); }
.blog-content img { display: block; width: 100%; height: auto; border-radius: 16px; }
.blog-article img { margin: 30px 0; }
.blog-article time { color: #595959; }
.blog-article h2 { margin: 2rem 0 .55rem; font-size: clamp(1.55rem, 4vw, 2.2rem); line-height: 1.16; }
.blog-article h3 { margin: 1.35rem 0 .4rem; }
.blog-article li { margin-bottom: .55em; }
.blog-article p a, .blog-article li a { text-decoration: underline; text-underline-offset: .18em; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; margin-top: 30px; }
.blog-card { max-width: 480px; padding: 18px; border: 1px solid #ddd; border-radius: 18px; }
.blog-card h2 { margin: 16px 0 8px; line-height: 1.2; }
.blog-card p { margin: 0; }
.blog-cta { margin-top: 38px; padding: 24px; background: #fff3e8; border-radius: 18px; }
.blog-cta h2 { margin: 0 0 14px; }
