.hmb-matrix {
  background: var(--hmb-outer-bg, #232323);
  color: var(--hmb-text, #fff);
  box-sizing: border-box;
  padding: clamp(12px, 2vw, 24px);
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  font-family: inherit;
}
.hmb-matrix *, .hmb-matrix *::before, .hmb-matrix *::after { box-sizing: border-box; }
.hmb-grid-wrap { display: grid; grid-template-columns: minmax(160px, 30%) minmax(0, 1fr); gap: clamp(10px, 2vw, 24px); align-items: stretch; }
.hmb-label-panel { background: var(--hmb-label-bg, #a9a9a9); color: var(--hmb-label-text, #fff); padding: clamp(14px, 2.4vw, 32px); }
.hmb-label-panel h3 { margin: 0 0 clamp(20px, 3vw, 46px); color: inherit; font-size: var(--hmb-label-title-size, clamp(24px, 2.6vw, 40px)); line-height: 1.12; font-weight: 500; letter-spacing: .02em; min-height: clamp(58px, 6vw, 90px); }
.hmb-category { margin: 0 0 clamp(16px, 2.6vw, 42px); }
.hmb-category:last-child { margin-bottom: 0; }
.hmb-category h4, .hmb-column-category h5 { min-height: 24px; margin: 0 0 10px; color: inherit; font-size: var(--hmb-category-size, 14px); line-height: 1.2; font-weight: 700; }
.hmb-column-category h5 { visibility: hidden; }
.hmb-feature-cell { height: var(--hmb-feature-row-height, 44px); min-height: var(--hmb-feature-row-height, 44px); display: flex; align-items: center; line-height: 1.25; overflow: visible; font-size: clamp(12px, 1.25vw, var(--hmb-feature-size, 15px)); }
.hmb-feature-display-lines .hmb-feature-cell span, .hmb-feature-display-text_lines .hmb-feature-cell span { display: inline-block; width: 100%; border-bottom: 3px solid var(--hmb-line, #fff); padding-bottom: 5px; }
.hmb-feature-display-lines .hmb-label-panel .hmb-feature-cell span { color: transparent; }
.hmb-feature-display-text_only .hmb-label-panel .hmb-feature-cell span { border: 0; padding-bottom: 0; }
.hmb-columns { display: grid; grid-template-columns: repeat(var(--hmb-col-count, 2), minmax(0, 1fr)); min-width: 0; }
.hmb-column { background: var(--hmb-column-bg, #aaa); color: var(--hmb-column-text, #fff); padding: clamp(14px, 2vw, 30px) clamp(8px, 1.4vw, 20px); text-align: center; min-width: 0; display: flex; flex-direction: column; }
.hmb-column h4 { margin: 0 0 clamp(20px, 3vw, 46px); min-height: clamp(58px, 6vw, 90px); color: inherit; font-size: clamp(11px, 1.2vw, var(--hmb-column-title-size, 16px)); line-height: 1.25; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; }
.hmb-value-cell { justify-content: center; align-items: center; }
.hmb-check { display: inline-flex; align-items: center; justify-content: center; color: var(--hmb-icon, #222); font-weight: 700; line-height: 1; font-size: clamp(12px, 1.2vw, var(--hmb-icon-size, 14px)); }
.hmb-check-circle, .hmb-check-plus { width: clamp(18px, 2.2vw, calc(var(--hmb-icon-size, 14px) + 6px)); height: clamp(18px, 2.2vw, calc(var(--hmb-icon-size, 14px) + 6px)); min-width: clamp(18px, 2.2vw, calc(var(--hmb-icon-size, 14px) + 6px)); border-radius: 999px; background: var(--hmb-icon-bg, #fff); color: var(--hmb-icon, #222); font-size: clamp(12px, 1.2vw, var(--hmb-icon-size, 14px)); }
.hmb-check-plain { font-size: calc(var(--hmb-icon-size, 14px) + 7px); }
.hmb-check-dot { font-size: calc(var(--hmb-icon-size, 14px) + 10px); }
.hmb-text-value { color: inherit; font-size: clamp(11px, 1.2vw, var(--hmb-optional-size, 14px)); line-height: 1.2; display: inline-flex; min-height: var(--hmb-feature-row-height, 44px); flex-direction: column; align-items: center; justify-content: center; }
.hmb-value-cell.hmb-has-value { align-items: center; }
.hmb-value-cell.hmb-has-value .hmb-text-value { width: 100%; }
.hmb-button { display: inline-flex; align-items: center; justify-content: center; align-self: center; margin-top: auto; background: var(--hmb-button-bg, #222); color: var(--hmb-button-text, #fff); text-decoration: none; min-height: 32px; padding: 8px 18px; font-size: var(--hmb-button-size, 12px); line-height: 1; text-transform: uppercase; }
.hmb-button:hover, .hmb-button:focus { color: var(--hmb-button-text, #fff); text-decoration: none; filter: brightness(1.08); }
.hmb-mobile-cards { display: none; }
@media (max-width: 1024px) {
  .hmb-tablet-scroll .hmb-grid-wrap { overflow-x: hidden; grid-template-columns: minmax(150px, 30%) minmax(0, 1fr); }
  .hmb-tablet-scroll .hmb-columns { width: 100%; }
  .hmb-tablet-stacked .hmb-grid-wrap { display: none; }
  .hmb-tablet-stacked .hmb-mobile-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 767px) {
  .hmb-matrix { padding: 16px; }
  .hmb-mobile-stacked .hmb-grid-wrap { display: none; }
  .hmb-mobile-stacked .hmb-mobile-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .hmb-mobile-scroll .hmb-grid-wrap { overflow-x: auto; grid-template-columns: minmax(180px, 42vw) max-content; }
  .hmb-mobile-scroll .hmb-columns { width: max-content; }
  .hmb-hide-label-mobile .hmb-label-panel { display: none; }
  .hmb-hide-label-mobile .hmb-grid-wrap { grid-template-columns: max-content; }
}
.hmb-mobile-card { background: var(--hmb-column-bg, #aaa); color: var(--hmb-column-text, #fff); padding: 24px; }
.hmb-mobile-card h4 { color: inherit; text-align: center; margin: 0 0 22px; text-transform: uppercase; font-size: var(--hmb-column-title-size, 16px); }
.hmb-mobile-category { margin-bottom: 22px; }
.hmb-mobile-category h5 { color: inherit; font-size: var(--hmb-category-size, 15px); margin: 0 0 10px; }
.hmb-mobile-feature { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.22); font-size: clamp(12px, 1.25vw, var(--hmb-feature-size, 15px)); }
.hmb-mobile-feature-value { text-align: right; }

.hmb-feature-cell > span { max-width: 100%; }
.hmb-label-panel .hmb-feature-cell { align-items: center; }
