/* One native comparison table; overflow is local and never hides a solution. */
.review.theme-v4 .nc-section {
  --nc-night: #0b0e28;
  --nc-rule: #2c3154;
  --nc-lavender: #eeebff;
  --nc-ink: #252060;
  container-type: inline-size;
  container-name: comparison;
  background: var(--nc-night);
  color: #f4f2ff;
  padding-block: 54px 72px;
}
.review.theme-v4 .section.nc-section > .wrap {
  inline-size: min(1252px, calc(100% - 112px));
  padding-block-end: 0;
  border: 0;
}
.nc-section .nc-copy {
  text-align: center;
  margin-block-end: 44px;
}
.nc-section .nc-kicker {
  color: #b8afff;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: .17em;
  margin: 0 0 18px;
}
.review.theme-v4 .nc-section h2 {
  max-inline-size: 1200px;
  font-family: var(--title);
  font-size: clamp(38px, 4.45vw, 62px);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -.032em;
  margin: 0 auto;
  text-wrap: balance;
}
.nc-section h2 > span {
  display: block;
}
.nc-section .nc-accent {
  color: #b3a4ff;
}
.nc-section [data-msg] {
  overflow-wrap: normal;
}
.nc-section .nc-scroll-hint {
  display: none;
}
.nc-section .nc-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-color: #9186d7 #1d2041;
  scrollbar-width: thin;
  border-radius: 10px;
  outline-offset: 5px;
}
.nc-section .nc-scroll:focus-visible {
  outline: 2px solid #b8afff;
}
.nc-section .nc-table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  inline-size: 100%;
  margin: 0;
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.45;
  text-align: start;
}
.nc-section .nc-col-criterion {
  inline-size: 24%;
}
.nc-section .nc-col-manual {
  inline-size: 20%;
}
.nc-section .nc-col-crm {
  inline-size: 23%;
}
.nc-section .nc-col-nidria {
  inline-size: 33%;
}
.nc-section .nc-table th,
.nc-section .nc-table td {
  padding: 20px 24px;
  border: 0;
  border-inline-end: 1px solid var(--nc-rule);
  border-block-end: 1px solid var(--nc-rule);
  text-align: start;
  font-weight: 400;
  vertical-align: middle;
}
.nc-section .nc-table tr > :first-child {
  border-inline-start: 1px solid var(--nc-rule);
}
.nc-section .nc-table thead th {
  border-block-start: 1px solid var(--nc-rule);
  padding-block: 24px;
}
.nc-section .nc-table thead th:first-child {
  border-start-start-radius: 10px;
}
.nc-section .nc-table .nc-criterion {
  font-weight: 500;
}
.nc-section .nc-column-title {
  display: block;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 500;
}
.nc-section .nc-column-subtitle {
  display: block;
  color: #bdb5e6;
  font-size: 15px;
  line-height: 1.4;
  margin-block-start: 5px;
}
.nc-section .nc-manual,
.nc-section .nc-crm {
  color: #d8d5ee;
}
.nc-section .nc-table .nc-nidria {
  background: var(--nc-lavender);
  color: var(--nc-ink);
  border-inline-start: 1px solid #fff9;
  border-inline-end: 1px solid #fff9;
  border-block-end-color: #c9c1f1;
  box-shadow: inset -1px 0 0 #fff7, inset 1px 0 0 #fff7;
}
.nc-section .nc-table thead .nc-nidria {
  border-block-start-color: #fffd;
  border-start-start-radius: 10px;
  border-start-end-radius: 10px;
  text-align: center;
}
.nc-section .nc-nidria .nc-column-title {
  color: #4430bd;
  letter-spacing: .18em;
  font-size: 25px;
}
.nc-section .nc-nidria .nc-column-subtitle {
  color: #5846ba;
}
.nc-section .nc-table tbody:last-child tr:last-child > :first-child {
  border-end-start-radius: 10px;
}
.nc-section .nc-table tbody:last-child tr:last-child .nc-nidria {
  border-end-start-radius: 10px;
  border-end-end-radius: 10px;
  border-block-end-color: #fffd;
}
.nc-section .nc-cell {
  display: flex;
  align-items: center;
  gap: 16px;
}
.nc-section .nc-cell > [data-msg] {
  min-inline-size: 0;
}
.nc-section .nc-cell > .icon {
  color: #6548ef;
  inline-size: 21px;
  block-size: 21px;
  flex: none;
  stroke-width: 1.8;
}
.nc-section .nc-table .nc-group th,
.nc-section .nc-table .nc-group td {
  padding-block: 15px;
}
.nc-section .nc-group th {
  color: #bcb2f2;
  font-size: 12px;
  letter-spacing: .13em;
  line-height: 1.5;
}
.nc-section .nc-group-label > span:first-child {
  margin-inline-end: 14px;
}
.nc-section .nc-mobile-column {
  display: none;
}
.nc-section .nc-notes {
  margin-block-start: 24px;
  color: #bdb5df;
  font-size: 14px;
  line-height: 1.6;
}
.nc-section .nc-notes p {
  margin: 0 0 3px;
}
.nc-section .nc-privacy-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #cabfff;
  text-decoration: underline;
  text-underline-offset: 5px;
  margin-block-start: 5px;
  min-block-size: 40px;
}
.nc-section .nc-privacy-link .icon {
  inline-size: 18px;
  block-size: 18px;
  flex: none;
}
.nc-section .nc-privacy-link:focus-visible {
  outline: 2px solid #b8afff;
  outline-offset: 4px;
  border-radius: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .nc-section [data-comparison-row]:hover > th,
  .nc-section [data-comparison-row]:hover > td {
    background-color: #171a36;
  }
  .nc-section [data-comparison-row]:hover > .nc-nidria {
    background-color: #e2dcff;
  }
  .nc-section .nc-privacy-link:hover {
    color: #fff;
  }
}
@container comparison (max-width: 1150px) {
  .review.theme-v4 .section.nc-section > .wrap {
    inline-size: calc(100% - 64px);
  }
  .nc-section .nc-table {
    min-inline-size: 920px;
    font-size: 16px;
  }
  .nc-section .nc-table th,
  .nc-section .nc-table td {
    padding-inline: 18px;
  }
  .nc-section .nc-column-title {
    font-size: 20px;
  }
  .nc-section .nc-column-subtitle {
    font-size: 14px;
  }
}
@container comparison (max-width: 1000px) {
  .nc-section .nc-scroll-hint {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #bdb5df;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 14px;
  }
  .nc-section .nc-scroll-hint > .icon {
    inline-size: 22px;
    block-size: 22px;
    flex: none;
  }
  .nc-section .nc-table .nc-criterion {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    background: var(--nc-night);
    box-shadow: 5px 0 12px -10px #000;
  }
  .nc-section .nc-mobile-column {
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #bcb2f2;
    margin-block-end: 8px;
  }
  .nc-section .nc-nidria .nc-mobile-column {
    color: #59479e;
  }
  .nc-section .nc-copy {
    margin-block-end: 32px;
  }
}
@container comparison (max-width: 650px) {
  .review.theme-v4 .section.nc-section > .wrap {
    inline-size: calc(100% - 36px);
  }
  .review.theme-v4 .nc-section h2 {
    font-size: clamp(32px, 8.7cqi, 46px);
    line-height: 1.14;
  }
  .nc-section .nc-kicker {
    font-size: 12px;
    letter-spacing: .13em;
    margin-block-end: 16px;
  }
  .nc-section .nc-scroll {
    --nc-criterion: clamp(100px, 29cqi, 140px);
    --nc-choice: calc(100cqi - 40px - var(--nc-criterion));
    border-radius: 8px;
  }
  .nc-section .nc-table {
    inline-size: calc(var(--nc-criterion) + 3 * var(--nc-choice));
    min-inline-size: 0;
    font-size: 14px;
    line-height: 1.5;
  }
  .nc-section .nc-col-criterion {
    inline-size: var(--nc-criterion);
  }
  .nc-section .nc-col-manual,
  .nc-section .nc-col-crm,
  .nc-section .nc-col-nidria {
    inline-size: var(--nc-choice);
  }
  .nc-section .nc-table th,
  .nc-section .nc-table td {
    padding: 17px 12px;
  }
  .nc-section .nc-table thead th {
    padding-block: 22px;
  }
  .nc-section .nc-table .nc-criterion {
    font-size: 14px;
    hyphens: auto;
  }
  .nc-section .nc-column-title {
    font-size: 17px;
  }
  .nc-section .nc-nidria .nc-column-title {
    font-size: 21px;
  }
  .nc-section .nc-column-subtitle {
    font-size: 14px;
  }
  .nc-section .nc-cell {
    gap: 9px;
  }
  .nc-section .nc-cell > .icon {
    inline-size: 18px;
    block-size: 18px;
  }
  .nc-section .nc-table .nc-group th,
  .nc-section .nc-table .nc-group td {
    padding-block: 16px;
  }
  .nc-section .nc-group th {
    letter-spacing: .06em;
    font-size: 11px;
  }
  .nc-section .nc-notes {
    margin-block-start: 21px;
  }
  .nc-section .nc-privacy-link {
    min-block-size: 44px;
  }
}
@media (max-width: 650px) {
  .review.theme-v4 .nc-section {
    padding-block: 40px 48px;
  }
}
.nc-section .nc-nidria .nc-cell > [data-msg] {
  text-wrap: balance;
}
@container comparison (max-width: 1000px) {
  .nc-section .nc-group-label {
    position: sticky;
    inset-inline-start: 18px;
    inline-size: 188px;
  }
  .nc-section .nc-group-label > span {
    display: block;
  }
  .nc-section .nc-group-label > span:first-child {
    margin: 0 0 3px;
  }
}
@container comparison (max-width: 650px) {
  .nc-section .nc-group-label {
    inset-inline-start: 12px;
    inline-size: calc(var(--nc-criterion) - 24px);
    font-size: 11px;
    letter-spacing: .025em;
    hyphens: auto;
  }
}
