.blog-page main { width: min(1220px, calc(100% - 80px)); padding-block: 64px 80px; }
.blog-heading { margin-bottom: 40px; }
.blog-page .blog-heading h1 { margin-block: 15px 20px; }
.blog-page .blog-heading .intro { max-width: 680px; margin-bottom: 0; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.blog-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid #dce8e2; border-radius: 22px; background: #fff; transition: border-color .18s,box-shadow .18s; }
.blog-card--mint { background: #e2fff1; border-color: #b6e6cf; }
.blog-category { color: #00794d; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .025em; }
.blog-page .blog-card h2 { font-size: clamp(22px,1.8vw,25px); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; margin: 18px 0 16px; }
.blog-card h2 a { color: #0b1720; text-decoration: none; }
.blog-card h2 a::after { content: ''; position: absolute; inset: 0; border-radius: 22px; }
.blog-card h2 a:focus-visible { outline: none; }
.blog-card:has(a:focus-visible) { outline: 3px solid #008657; outline-offset: 4px; }
.blog-card:hover { border-color: #56bd90; box-shadow: 0 8px 24px #0639230a; }
.blog-card:hover h2 a { color: #00794d; }
.blog-page .blog-card p { font-size: 15px; line-height: 1.65; color: #4d6058; margin: 0 0 28px; }
.blog-read { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin-top: auto; padding-top: 18px; border-top: 1px solid #dce8e2; font-size: 13px; font-weight: 600; color: #00794d; }
.blog-read > span { font-size: 20px; line-height: 1; }
.blog-invitation { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 48px; padding: 32px; background: #e2fff1; border-radius: 22px; }
.blog-page .blog-invitation h2 { font-size: 28px; margin: 0 0 10px; }
.blog-page .blog-invitation p { max-width: 640px; margin: 0; }
@media(max-width:1100px) { .blog-page main { width: calc(100% - 45px); } .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .blog-page main { width: calc(100% - 36px); padding-block: 42px 56px; } .blog-heading { margin-bottom: 28px; } .blog-card { padding: 25px; } .blog-invitation { flex-direction: column; align-items: flex-start; padding: 26px; gap: 24px; } }
@media(max-width:600px) { .blog-grid { grid-template-columns: minmax(0,1fr); gap: 16px; } .blog-page .blog-card h2 { font-size: 23px; } .blog-page .blog-card p { margin-bottom: 24px; } .blog-invitation .btn { width: 100%; white-space: normal; } }
