.home-main { padding-top: 31px; }
.home-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 38px; }
.home-intro p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.intro-note { font-size: 12px; color: var(--muted); white-space: nowrap; }
.article-section { margin-bottom: 36px; scroll-margin-top: 24px; }
.section-heading { display: flex; align-items: baseline; gap: 13px; margin-bottom: 16px; }
.section-heading h2 { margin: 0; font-size: 1.14rem; font-weight: 650; letter-spacing: -.02em; }
.section-heading > span { font-size: 12px; color: var(--muted); }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.article-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.article-card:hover { color: var(--ink); border-color: #8db9aa; transform: translateY(-3px); }
.card-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.card-meta span:first-child { padding: 4px 9px; border-radius: 5px; background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 500; }
.card-meta span:last-child { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.article-card h3 { margin: 0 0 13px; font-size: 1.06rem; font-weight: 650; line-height: 1.65; letter-spacing: -.025em; }
.article-card > p { flex: 1; margin: 0 0 26px; font-size: 13px; line-height: 1.85; color: var(--muted); }
.card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 16px; border-top: 1px solid #edf0f4; font-size: 12px; }
.card-bottom > span:first-child { color: var(--muted); }
.read-link { color: var(--accent); font-weight: 500; }
.read-link > span { display: inline-block; margin-left: 5px; }
@media (max-width: 940px) {
    .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .home-main { padding-top: 24px; }
    .home-intro { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 29px; }
    .article-grid { grid-template-columns: 1fr; gap: 13px; }
    .article-card { padding: 21px; }
    .card-meta { margin-bottom: 14px; }
    .article-card > p { margin-bottom: 20px; }
    .article-section { margin-bottom: 30px; }
}
