.hm-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 20px; border: 1px solid transparent; border-radius: var(--hm-radius-pill); font-weight: 800; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.hm-button:hover { transform: translateY(-1px); }
.hm-button--primary { background: var(--hm-color-primary); color: #fff; box-shadow: 0 10px 24px rgba(0,85,218,.2); }
.hm-button--primary:hover { color: #fff; background: #0047B7; }
.hm-button--investment { background: linear-gradient(135deg, var(--hm-color-investment), var(--hm-color-orange)); color: var(--hm-color-ink); box-shadow: 0 12px 28px rgba(255,136,75,.22); }
.hm-button--investment:hover { color: var(--hm-color-ink); box-shadow: 0 16px 34px rgba(255,136,75,.28); }
.hm-button--ghost { background: #fff; border-color: var(--hm-color-line); color: var(--hm-color-ink); }
.hm-icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--hm-color-line); border-radius: 50%; background: #fff; cursor: pointer; }
.hm-icon-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.hm-kicker { display: inline-flex; color: var(--hm-color-primary); font-weight: 900; font-size: 13px; letter-spacing: .02em; }
.hm-card { overflow: hidden; background: #fff; border: 1px solid var(--hm-color-line); border-radius: var(--hm-radius-lg); box-shadow: var(--hm-shadow-sm); transition: transform .22s ease, box-shadow .22s ease; }
.hm-card:hover { transform: translateY(-4px); box-shadow: var(--hm-shadow-md); }
.hm-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--hm-color-surface); }
.hm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hm-card:hover .hm-card__media img { transform: scale(1.025); }
.hm-card__body { padding: 20px; }
.hm-card__meta { color: var(--hm-color-muted); font-size: 12px; }
.hm-card h2 { margin: 8px 0 10px; font-size: 20px; line-height: 1.65; }
.hm-card h2 a { color: var(--hm-color-ink); text-decoration: none; }
.hm-card p { margin: 0; color: var(--hm-color-muted); font-size: 14px; line-height: 1.9; }
.hm-empty-state { padding: clamp(70px, 10vw, 140px) 0; text-align: center; }
.hm-empty-state h1, .hm-empty-state h2 { color: var(--hm-color-ink); }
.hm-empty-state--404 h1 { margin: 8px 0; font-size: clamp(38px,7vw,72px); }
.hm-inline-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
