.vs_section_header {
  text-align:center;
  margin-bottom:30px;
}

.vs_table {
  width:100%;
  background-color:var(--paper);
  border:1px solid var(--gridline);
  border-radius:16px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  box-shadow:var(--box-shadow-combined);
  margin-top:30px;
  margin-bottom:30px;
}

.vs_table thead {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.vs_table tr, .vs_table th, .vs_table td {
  display:block;
}

.vs_table tbody tr {
  padding:16px;
  border-bottom:1px solid var(--gridline);
}

.vs_table tbody tr:last-child {
  border-bottom:0;
}

.vs_table th, .vs_table td {
  text-align:left;
  vertical-align:top;
}

.vs_table thead th {
  font-family:"Matter SemiMono", monospace;
  font-size:14px;
  font-weight:400;
}

.vs_table thead th:nth-child(3) {
  color:var(--forest);
  background-color:#fae1df8f;
}

.vs_table tbody th {
  font-family:"Inter", system-ui, sans-serif;
  font-size:17px;
  font-weight:700;
  margin-bottom:8px;
}

.vs_table td {
  font-family:"Inter", system-ui, sans-serif;
  font-size:16px;
  line-height:1.5;
  margin-top:12px;
}

.vs_table td::before {
  content:attr(data-label);
  display:block;
  font-family:"Matter SemiMono", monospace;
  font-size:13px;
  color:var(--soft-grey);
  margin-bottom:4px;
}

.vs_table td.vs_ours {
  background-color:#fae1df8f;
  padding:12px;
  border-radius:8px;
  border:1px solid var(--gridline);
}

@media (min-width: 900px) {
  .vs_table {
    display:table;
    table-layout:fixed;
  }
  .vs_table thead {
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    white-space:normal;
    display:table-header-group;
  }
  .vs_table thead th:nth-child(2), .vs_table thead th:nth-child(3) {
    width:30%;
  }
  .vs_table tbody {
    display:table-row-group;
  }
  .vs_table tr {
    display:table-row;
  }
  .vs_table th, .vs_table td {
    display:table-cell;
    padding:18px 20px;
  }
  .vs_table th:first-child, .vs_table td:first-child {
    padding-left:20px;
  }
  .vs_table th:last-child, .vs_table td:last-child {
    padding-right:20px;
  }
  .vs_table tbody tr {
    padding:0;
    border-bottom:0;
  }
  .vs_table tbody th {
    margin-bottom:0;
  }
  .vs_table td {
    margin-top:0;
    font-size:17px;
  }
  .vs_table td::before {
    display:none;
  }
  .vs_table td.vs_ours {
    padding:18px 20px;
    border-radius:0;
    border:0;
    border-bottom:1px solid var(--gridline);
  }
  .vs_table tbody tr:last-child th, .vs_table tbody tr:last-child td {
    border-bottom:0;
  }
}

.vs_split {
  display:grid;
  gap:24px;
  grid-template-columns:1fr;
  margin-top:30px;
  margin-bottom:30px;
}

@media (min-width: 900px) {
  .vs_split {
    grid-template-columns:1fr 1fr;
  }
}

.vs_card {
  border:1px solid var(--gridline);
  padding:22px;
  border-radius:22px;
  background-color:var(--paper);
}

.vs_card.vs_ours {
  border:2px solid var(--magic);
  box-shadow:var(--box-shadow-combined);
}

.vs_card h3 {
  font-family:"Matter SemiMono", monospace;
  font-size:15px;
  color:var(--soft-grey);
  margin-bottom:12px;
}

.report_content .vs_card p {
  font-size:18px;
  max-width:none;
  margin:0 0 16px;
}

.report_content .vs_card p:last-child {
  margin-bottom:0;
}

.vs_quote {
  position:relative;
  box-sizing:border-box;
  max-width:800px;
  margin:40px auto;
  padding:24px;
  border:1px solid var(--gridline);
  border-radius:22px;
  background-color:var(--paper);
  box-shadow:var(--box-shadow-combined);
}

.vs_quote::before {
  content:"“";
  display:block;
  font-size:72px;
  line-height:0.8;
  height:36px;
  color:var(--magic);
}

.vs_quote blockquote {
  margin:0;
  padding:0;
  border:0;
}

.report_content .vs_quote p {
  font-size:22px;
  line-height:1.35;
  max-width:none;
  margin:0 0 24px;
  text-wrap:pretty;
}

.vs_quote figcaption {
  display:flex;
  align-items:center;
  gap:14px;
}

.vs_quote_avatar {
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}

.vs_quote_details strong {
  display:block;
  font-family:"Inter", system-ui, sans-serif;
  font-size:17px;
  line-height:1.3;
}

.vs_quote_details span {
  display:block;
  font-family:"Matter SemiMono", monospace;
  font-size:14px;
  line-height:1.3;
  color:var(--soft-grey);
}

@media (min-width: 900px) {
  .vs_quote {
    padding:36px;
  }
  .report_content .vs_quote p {
    font-size:26px;
  }
}


.comparison_intro {
  font-weight:bold;
  font-size:25px;
  text-wrap:balance;
  text-align: center;
  line-height:1.2;
}

@media(min-width:900px) {
  .comparison_intro {
    font-size:30px;
    margin-bottom:0;
  }
}

.comparison_intro p:last-of-type {
  margin-bottom:0;
}

img.comparison_image {
  width:100%;
  height:auto;
}

.vs_demo_cta {
  box-sizing:border-box;
  max-width:800px;
  margin:40px auto 0;
  padding:24px;
  background:#fae1df8f;
  border:1px solid var(--gridline);
  border-radius:22px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.comparison .report_block {
  padding:20px 0;
}

.report_content .vs_demo_cta p {
  font-family:"Inter", system-ui, sans-serif;
  font-size:17px;
  font-weight:600;
  line-height:1.35;
  max-width:none;
  margin:0;
  text-wrap:pretty;
}

a.vs_demo_button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  box-sizing:border-box;
  padding:14px 20px;
  background-color:var(--forest);
  border:1px solid var(--forest);
  border-radius:11px;
  color:#fff;
  font-family:"Matter SemiMono", monospace;
  font-size:16px;
  text-decoration:none;
  white-space:nowrap;
  flex-shrink:0;
  transition:background-color 0.2s;
}

a.vs_demo_button:hover {
  background-color:var(--brand-green);
  border-color:var(--brand-green);
  color:#fff;
}

@media (min-width: 900px) {
  .vs_demo_cta {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:28px 32px;
  }
  .report_content .vs_demo_cta p {
    font-size:19px;
  }
}
