.hm-shell { width: min(calc(100% - 40px), var(--hm-shell)); margin-inline: auto; }
.hm-main { min-height: 58vh; }
.hm-content-shell { padding-block: clamp(48px, 7vw, 92px); }
.hm-listing { padding-block: clamp(48px, 7vw, 90px); }
.hm-listing__header { max-width: 820px; margin-bottom: 34px; }
.hm-listing__header h1 { margin: 0 0 12px; color: var(--hm-color-ink); font-size: clamp(32px, 5vw, 56px); line-height: 1.35; }
.hm-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.hm-article { width: min(calc(100% - 40px), 980px); margin-inline: auto; padding-block: clamp(44px, 6vw, 84px); }
.hm-article__header { max-width: 820px; margin: 0 auto 30px; text-align: center; }
.hm-article__header h1 { margin: 12px 0 16px; color: var(--hm-color-ink); font-size: clamp(34px, 5.2vw, 62px); line-height: 1.35; }
.hm-article__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; color: var(--hm-color-muted); font-size: 13px; }
.hm-article__hero { margin: 0 0 36px; border-radius: var(--hm-radius-lg); overflow: hidden; box-shadow: var(--hm-shadow-sm); }
.hm-article__hero img { width: 100%; }
.hm-prose { color: var(--hm-color-text); }
.hm-prose > * { max-width: 820px; margin-inline: auto; }
.hm-prose h1, .hm-prose h2, .hm-prose h3, .hm-prose h4 { color: var(--hm-color-ink); line-height: 1.55; }
.hm-prose h2 { margin-top: 2.2em; font-size: clamp(25px, 3vw, 34px); }
.hm-prose h3 { margin-top: 1.8em; font-size: clamp(21px, 2.5vw, 27px); }
.hm-prose p, .hm-prose li { font-size: clamp(16px, 1.2vw, 18px); line-height: 2.05; }
.hm-prose blockquote { padding: 22px 24px; border-right: 4px solid var(--hm-color-investment); background: #FFF9E9; border-radius: var(--hm-radius-md); }
.hm-prose table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: var(--hm-radius-md); }
.hm-prose th, .hm-prose td { padding: 13px 15px; border: 1px solid var(--hm-color-line); text-align: right; }
@media (max-width: 980px) { .hm-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .hm-shell, .hm-article { width: min(calc(100% - 28px), var(--hm-shell)); } .hm-card-grid { grid-template-columns: 1fr; } }
