.hm-features-comparison {
  --hm-fc-container-background: #ffffff;
  --hm-fc-heading-background: #7cf1d9;
  --hm-fc-heading-text: #172320;
  --hm-fc-feature-heading-background: #a3ffed;
  --hm-fc-feature-heading-text: #172320;
  --hm-fc-feature-odd-background: #7cf1d9;
  --hm-fc-feature-even-background: #a3ffed;
  --hm-fc-feature-text: #747474;
  --hm-fc-package-odd-background: #ffffff;
  --hm-fc-package-even-background: #fafafa;
  --hm-fc-package-text: #333333;
  --hm-fc-included-color: #53e4c6;
  --hm-fc-excluded-color: #747474;
  --hm-fc-empty-color: #747474;
  --hm-fc-custom-value-color: #333333;
  --hm-fc-status-circle-background: #ececec;
  --hm-fc-status-circle-size: 54px;
  --hm-fc-status-row-gap: 8px;
  --hm-fc-status-column-gap: 12px;
  --hm-fc-status-note-color: #747474;
  --hm-fc-column-header-background: var(--hm-fc-heading-background);
  --hm-fc-column-header-text: var(--hm-fc-heading-text);
  --hm-fc-column-footer-background: #7cf1d9;
  --hm-fc-column-footer-text: #172320;
  --hm-fc-column-button-background: #172320;
  --hm-fc-column-button-text: #ffffff;
  --hm-fc-column-button-hover-background: #0b0b0b;
  --hm-fc-column-header-border-width: 0px;
  --hm-fc-column-header-border-style: solid;
  --hm-fc-column-header-border-color: transparent;
  --hm-fc-grid-border-color: rgba(23, 35, 32, 0.18);
  --hm-fc-grid-border-width: 0px;
  --hm-fc-row-hover-background: #f0fffc;
  --hm-fc-matrix-feature-width: 320px;
  --hm-fc-matrix-package-width: 520px;
  --hm-fc-scroll-matrix-width: var(--hm-fc-table-max-width);
  --hm-fc-table-max-width: 1360px;
  --hm-fc-heading-justify: center;
  --hm-fc-stacked-max-width: 618px;
  --hm-fc-stacked-card-gap: 40px;
  background: var(--hm-fc-container-background);
  border: 0;
  border-radius: 16px;
  box-shadow: none;
  box-sizing: border-box;
  color: var(--hm-fc-package-text);
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.hm-features-comparison *,
.hm-features-comparison *::before,
.hm-features-comparison *::after {
  box-sizing: border-box;
}

.hm-features-comparison__scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.hm-features-comparison__scroll:focus-visible {
  outline: 2px solid var(--hm-fc-heading-text);
  outline-offset: 4px;
}

.hm-features-comparison__stacked {
  align-items: center;
  display: none;
  flex-direction: column;
  margin: 0 auto;
  max-width: var(--hm-fc-stacked-max-width);
  padding: 0;
  row-gap: var(--hm-fc-stacked-card-gap);
  width: 100%;
}

.hm-features-comparison__comparison-title,
.hm-features-comparison__stacked-title {
  color: var(--hm-fc-heading-text);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  max-width: 100%;
  padding: 25px 55px 50px;
  width: 100%;
}

.hm-features-comparison__comparison-title-emphasis,
.hm-features-comparison__stacked-title-emphasis {
  font-weight: 700;
}

.hm-features-comparison__stacked-table {
  background: #ffffff;
  border: 0;
  border-radius: 16px;
  border-spacing: 0;
  box-shadow: none;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden;
  table-layout: fixed;
  width: 100% !important;
}

.hm-features-comparison__stacked-table + .hm-features-comparison__stacked-table {
  margin: 0;
  padding-top: 0;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table thead .hm-features-comparison__package-heading {
  background: #7cf1d9;
  border: 0;
  border-radius: 16px 16px 0 0;
  color: #172320;
  display: block;
  height: auto;
  max-width: none !important;
  max-height: 500px;
  min-height: 161px;
  padding: 24px 26px;
  width: 100% !important;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table thead,
.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody,
.hm-features-comparison__stacked .hm-features-comparison__stacked-table tfoot,
.hm-features-comparison__stacked .hm-features-comparison__stacked-table thead tr {
  display: block;
  width: 100%;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table thead {
  box-shadow: none;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody tr {
  display: block;
  height: auto !important;
  min-height: 128px;
  width: 100%;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody .hm-features-comparison__stacked-pair-cell {
  align-items: center;
  border: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: none !important;
  min-height: inherit;
  min-width: 0 !important;
  padding: 24px 26px;
  row-gap: 12px;
  text-align: center;
  width: 100% !important;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody tr:nth-child(odd) > .hm-features-comparison__stacked-pair-cell {
  background: #a3ffed;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody tr:nth-child(even) > .hm-features-comparison__stacked-pair-cell {
  background: #7cf1d9;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tbody tr.hm-features-comparison__row--description > .hm-features-comparison__stacked-pair-cell {
  background: #a3ffed;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table .hm-features-comparison__stacked-pair-cell > .hm-features-comparison__cell-content--feature {
  color: #747474;
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  margin: 0;
  text-align: inherit;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table .hm-features-comparison__stacked-pair-cell > .hm-features-comparison__cell-content--package {
  color: #333333;
  margin: 0;
  text-align: inherit;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table .hm-features-comparison__row--feature .hm-features-comparison__status {
  align-items: center;
  flex-direction: column;
  gap: 8px;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table .hm-features-comparison__row--feature .hm-features-comparison__status-note {
  order: -1;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tfoot tr,
.hm-features-comparison__stacked .hm-features-comparison__stacked-table tfoot td {
  display: block;
  width: 100%;
}

.hm-features-comparison__stacked .hm-features-comparison__stacked-table tfoot .hm-features-comparison__footer-package-cell {
  background: var(--hm-fc-column-footer-background, #7cf1d9);
  border-radius: 0 0 16px 16px;
  color: var(--hm-fc-column-footer-text, #172320);
  height: auto;
  max-width: none !important;
  min-height: 202px;
  min-width: 0 !important;
  padding: 24px 26px;
  width: 100% !important;
}

.hm-features-comparison__table {
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--hm-fc-package-text);
  margin: 0;
  max-width: var(--hm-fc-table-max-width);
  table-layout: fixed;
  width: 100%;
}

.hm-features-comparison__feature-heading,
.hm-features-comparison__package-heading,
.hm-features-comparison__feature-cell,
.hm-features-comparison__value-cell,
.hm-features-comparison__footer-feature-cell,
.hm-features-comparison__footer-package-cell {
  border: 0;
  border-bottom: var(--hm-fc-grid-border-width) solid var(--hm-fc-grid-border-color);
  border-right: var(--hm-fc-grid-border-width) solid var(--hm-fc-grid-border-color);
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.hm-features-comparison__cell-content {
  display: block;
  margin: 0;
  max-width: 100%;
  width: 100%;
}

.hm-features-comparison__table tr > :last-child {
  border-right: 0;
}

.hm-features-comparison__footer-feature-cell,
.hm-features-comparison__footer-package-cell {
  border-bottom: 0;
}

.hm-features-comparison__table thead th {
  background: var(--hm-fc-heading-background);
  color: var(--hm-fc-heading-text);
  height: 161px;
  padding: 24px 78px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
}

.hm-features-comparison__table thead {
  box-shadow: -4px 4px 12px rgba(24, 23, 23, 0.1);
  position: relative;
  z-index: 1;
}

.hm-features-comparison__table thead .hm-features-comparison__feature-heading {
  background: var(--hm-fc-feature-heading-background);
  color: var(--hm-fc-feature-heading-text);
  font-size: 18px;
  text-align: left;
  max-width: var(--hm-fc-matrix-feature-width);
  width: var(--hm-fc-matrix-feature-width);
}

.hm-features-comparison__table thead .hm-features-comparison__package-heading {
  background: var(--hm-fc-column-header-background, var(--hm-fc-heading-background));
  border-color: var(--hm-fc-column-header-border-color, transparent);
  border-style: var(--hm-fc-column-header-border-style, solid);
  border-width: var(--hm-fc-column-header-border-width, 0px);
  color: var(--hm-fc-column-header-text, var(--hm-fc-heading-text));
  max-width: var(--hm-fc-matrix-package-width);
  width: var(--hm-fc-matrix-package-width);
}

.hm-features-comparison__feature-heading {
  border-top-left-radius: 16px;
}

.hm-features-comparison__package-heading:where(:last-child) {
  border-top-right-radius: 16px;
}

.hm-features-comparison__table tbody tr {
  height: 110px;
  transition: background-color 0.18s ease;
}

.hm-features-comparison__table tbody tr.hm-features-comparison__row--description {
  height: 120px;
}

.hm-features-comparison__table tbody th,
.hm-features-comparison__table tbody td {
  padding: 12px 60px;
}

.hm-features-comparison--row-hover .hm-features-comparison__table tbody tr:hover > * {
  background: var(--hm-fc-row-hover-background);
}

.hm-features-comparison--stacked-row-hover .hm-features-comparison__stacked-table tbody tr:hover > .hm-features-comparison__stacked-pair-cell {
  background: #f0fffc;
}

.hm-features-comparison__table tbody .hm-features-comparison__feature-cell {
  background: var(--hm-fc-feature-odd-background);
  color: var(--hm-fc-feature-text);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  text-align: left;
  max-width: var(--hm-fc-matrix-feature-width);
  width: var(--hm-fc-matrix-feature-width);
}

.hm-features-comparison__table tbody tr:nth-child(even) .hm-features-comparison__feature-cell {
  background: var(--hm-fc-feature-even-background);
}

.hm-features-comparison__table tbody .hm-features-comparison__value-cell {
  background: var(--hm-fc-package-odd-background);
  color: var(--hm-fc-package-text);
  text-align: center;
  max-width: var(--hm-fc-matrix-package-width);
  width: var(--hm-fc-matrix-package-width);
}

.hm-features-comparison__table tbody tr:nth-child(even) .hm-features-comparison__value-cell {
  background: var(--hm-fc-package-even-background);
}

.hm-features-comparison__heading-content {
  align-items: center;
  display: flex;
  justify-content: var(--hm-fc-heading-justify);
  min-height: 1em;
  width: 100%;
}

.hm-features-comparison__heading-content--stacked {
  flex-direction: column;
  gap: 6px;
  line-height: 1;
}

.hm-features-comparison__heading-content--stacked .hm-features-comparison__heading-text {
  font-size: 2em;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.9;
}

.hm-features-comparison__heading-subtext {
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
}

.hm-features-comparison__heading-content--image {
  justify-content: var(--hm-fc-heading-justify);
}

.hm-features-comparison__heading-image {
  border: 0;
  display: inline-block;
  height: auto;
  max-height: 104px;
  max-width: 180px;
  object-fit: contain;
  vertical-align: middle;
  width: auto;
}

.hm-features-comparison__status {
  color: var(--hm-fc-custom-value-color);
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--hm-fc-status-row-gap) var(--hm-fc-status-column-gap);
  justify-content: center;
  line-height: 1.25;
  max-width: 100%;
  min-width: 1em;
  vertical-align: middle;
}

.hm-features-comparison__status.is-included {
  color: var(--hm-fc-included-color);
}

.hm-features-comparison__status.is-excluded {
  color: var(--hm-fc-excluded-color);
}

.hm-features-comparison__status.is-empty {
  color: var(--hm-fc-empty-color);
}

.hm-features-comparison__status-icon {
  align-items: center;
  background: var(--hm-fc-status-circle-background);
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 var(--hm-fc-status-circle-size, 54px);
  font-size: 34px;
  font-weight: 700;
  height: var(--hm-fc-status-circle-size, 54px);
  justify-content: center;
  line-height: 1;
  width: var(--hm-fc-status-circle-size, 54px);
}

.hm-features-comparison__status-image {
  border: 0;
  display: inline-block;
  flex: 0 0 var(--hm-fc-status-circle-size, 54px);
  height: var(--hm-fc-status-circle-size, 54px);
  object-fit: contain;
  width: var(--hm-fc-status-circle-size, 54px);
}

.hm-features-comparison__status-label {
  display: inline-block;
}

.hm-features-comparison__status-note {
  color: var(--hm-fc-status-note-color);
  display: block;
  flex: 0 0 100%;
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

.hm-features-comparison__status.is-description {
  display: block;
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}

.hm-features-comparison__status.is-description .hm-features-comparison__status-label {
  display: block;
}

.hm-features-comparison__table tfoot th {
  background: transparent;
  max-width: var(--hm-fc-matrix-feature-width);
  width: var(--hm-fc-matrix-feature-width);
}

.hm-features-comparison__table tfoot td {
  background: var(--hm-fc-column-footer-background, #7cf1d9);
  color: var(--hm-fc-column-footer-text, #172320);
  height: 192px;
  padding: 0;
  text-align: center;
  max-width: var(--hm-fc-matrix-package-width);
  width: var(--hm-fc-matrix-package-width);
}

.hm-features-comparison__footer-package-cell:where(:last-child) {
  border-bottom-right-radius: 16px;
}

.hm-features-comparison--has-footer .hm-features-comparison__table tbody tr:last-child .hm-features-comparison__feature-cell {
  border-bottom-left-radius: 16px;
}

.hm-features-comparison--has-footer .hm-features-comparison__table tfoot .hm-features-comparison__footer-package-cell:first-of-type {
  border-bottom-left-radius: 16px;
}

.hm-features-comparison:not(.hm-features-comparison--has-footer) .hm-features-comparison__table tbody tr:last-child .hm-features-comparison__feature-cell {
  border-bottom-left-radius: 16px;
}

.hm-features-comparison:not(.hm-features-comparison--has-footer) .hm-features-comparison__table tbody tr:last-child .hm-features-comparison__value-cell:last-child {
  border-bottom-right-radius: 16px;
}

.hm-features-comparison__footer-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: 100%;
}

.hm-features-comparison__footer-text-content {
  align-items: inherit;
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  row-gap: 0;
}

.hm-features-comparison__footer-text-content > .hm-features-comparison__footer-price-prefix,
.hm-features-comparison__footer-text-content > .hm-features-comparison__footer-price,
.hm-features-comparison__footer-text-content > .hm-features-comparison__footer-period {
  display: block;
}

.hm-features-comparison__footer-price-prefix {
  color: var(--hm-fc-column-footer-prefix, var(--hm-fc-column-footer-text, #172320));
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

.hm-features-comparison__footer-price {
  color: var(--hm-fc-column-footer-price, var(--hm-fc-column-footer-text, #172320));
  font-size: 58px;
  font-weight: 700;
  line-height: 0.95;
  margin: 0;
  padding: 0;
}

.hm-features-comparison__footer-period {
  color: var(--hm-fc-column-footer-period, var(--hm-fc-column-footer-text, #172320));
  font-size: 20px;
  font-style: italic;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

.hm-features-comparison__footer-button,
a.hm-features-comparison__footer-button,
a.hm-features-comparison__footer-button:link,
a.hm-features-comparison__footer-button:visited {
  align-items: center;
  background: var(--hm-fc-column-button-background, #172320);
  border: 0;
  border-radius: 16px;
  color: var(--hm-fc-column-button-text, #ffffff);
  display: inline-flex;
  font-size: 18px;
  font-weight: 700;
  justify-content: center;
  margin: 0;
  min-height: 56px;
  min-width: 101px;
  padding: 0;
  text-decoration: none;
  transition: filter 0.18s ease, transform 0.18s ease;
}

.hm-features-comparison__footer-button:hover,
.hm-features-comparison__footer-button:focus-visible,
a.hm-features-comparison__footer-button:hover,
a.hm-features-comparison__footer-button:focus-visible {
  background: var(--hm-fc-column-button-hover-background, #0b0b0b);
  color: var(--hm-fc-column-button-hover-text, var(--hm-fc-column-button-text, #ffffff));
  transform: translateY(-1px);
}

.hm-features-comparison__empty {
  color: var(--hm-fc-feature-text);
  margin: 0;
}

.hm-features-comparison__sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.hm-features-comparison:not(.hm-features-comparison--fit-matrix) > .hm-features-comparison__scroll > .hm-features-comparison__table--matrix {
  max-width: none !important;
  min-width: var(--hm-fc-scroll-matrix-width) !important;
  width: var(--hm-fc-scroll-matrix-width) !important;
}

.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__feature-heading,
.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__feature-cell,
.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__footer-feature-cell {
  min-width: var(--hm-fc-matrix-feature-width);
}

.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__package-heading,
.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__value-cell,
.hm-features-comparison:not(.hm-features-comparison--fit-matrix) .hm-features-comparison__table--matrix .hm-features-comparison__footer-package-cell {
  min-width: var(--hm-fc-matrix-package-width);
}

.hm-features-comparison--fit-matrix > .hm-features-comparison__scroll > .hm-features-comparison__table--matrix {
  min-width: 0 !important;
  width: 100% !important;
}

.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__feature-heading,
.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__feature-cell,
.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__footer-feature-cell {
  max-width: var(--hm-fc-matrix-feature-width) !important;
  min-width: 0 !important;
  width: var(--hm-fc-matrix-feature-width) !important;
}

.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__package-heading,
.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__value-cell,
.hm-features-comparison--fit-matrix .hm-features-comparison__table--matrix .hm-features-comparison__footer-package-cell {
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

@media (max-width: 1024px) {
  .hm-features-comparison {
    --hm-fc-matrix-feature-width: 240px;
    --hm-fc-matrix-package-width: 340px;
  }

  .hm-features-comparison--stack-tablet > .hm-features-comparison__scroll {
    display: none;
  }

  .hm-features-comparison--stack-tablet > .hm-features-comparison__stacked {
    display: flex;
  }
}

@media (max-width: 767px) {
  .hm-features-comparison {
    --hm-fc-matrix-feature-width: 180px;
    --hm-fc-matrix-package-width: 260px;
  }

  .hm-features-comparison__table thead th {
    height: 161px;
    padding: 24px 20px;
  }

  .hm-features-comparison__table tbody tr {
    height: 110px;
  }

  .hm-features-comparison__table tbody tr.hm-features-comparison__row--description {
    height: 120px;
  }

  .hm-features-comparison__table tbody th,
  .hm-features-comparison__table tbody td {
    padding: 12px 20px;
  }

  .hm-features-comparison__status-icon {
    font-size: 34px;
  }

  .hm-features-comparison__status-image {
    object-fit: contain;
  }

  .hm-features-comparison__footer-price {
    font-size: 58px;
  }

  .hm-features-comparison__table tfoot td {
    height: 192px;
    padding: 0;
  }

  .hm-features-comparison--stack-mobile > .hm-features-comparison__scroll {
    display: none;
  }

  .hm-features-comparison--stack-mobile > .hm-features-comparison__stacked {
    display: flex;
  }

  .hm-features-comparison__comparison-title,
  .hm-features-comparison__stacked-title {
    padding: 25px 26px 50px;
  }
}
