/* Keep the exported content responsive without changing its desktop layout. */
@media (max-width: 767px) {
  [data-page-path="/"] .callout-bold-both > .flex-horizontal {
    flex-direction: column;
    align-items: flex-start;
  }
  [data-page-path="/"] .image-62 {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  [data-page-path="/pricing"] .section_content {
    min-width: 0;
    max-width: 100%;
  }
  [data-page-path="/pricing"] .col-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  [data-page-path="/pricing"] .col-3.grid-custom1 {
    grid-template-columns: minmax(0, 1fr);
  }
  [data-page-path^="/comparisons/"] .div-block-113 {
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  [data-page-path="/pricing"] .col-1.col-small-mobile {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  [data-page-path="/pricing"] .col-1.col-small-mobile > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 767px) {
  [data-page-path="/"] .homepage-section_testimonials .col-1,
  [data-page-path="/"] .homepage-section_testimonials .block_max-width-1000,
  [data-page-path="/"] .homepage-section_testimonials .swiper.is-testimonials {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}

/* Center support prices and their links within each license column. */
[data-page-path="/pricing"] .pricing_row-content.flex-vertical {
  justify-content: center;
  align-items: center;
}

/* Let the licensing explanation use the full column, wrapping only when needed. */
[data-page-path="/pricing"] .text-block-16 {
  width: 100%;
  min-width: 0;
  max-width: none;
}

/* Both sides of adjoining sections must be borderless to avoid seams below shapes. */
[data-page-path="/"] .section_content_parent,
[data-page-path="/features"] .section_content_parent {
  border: 0;
}

/* Keep the comparison hub's differentiator cards centered within the page. */
[data-page-path="/compare"] .section-9 .container-9 {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}
[data-page-path="/compare"] .div-block-119 {
  width: 100%;
  min-width: 0;
  padding: 0;
  display: block;
  overflow: visible;
}
[data-page-path="/compare"] .section-9 .grid-2 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
[data-page-path="/compare"] .section-9 .link-block-3 {
  min-width: 0;
}
@media (max-width: 991px) {
  [data-page-path="/compare"] .section-9 .grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 479px) {
  [data-page-path="/compare"] .section-9 .grid-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep the comparison hub's introductory action buttons flat. */
[data-page-path="/compare"] .button-bad,
[data-page-path="/compare"] .button-2 {
  box-shadow: none;
}

/* Comparison pages: use the site's type, palette and generous section spacing. */
.tv-comparison {
  color: var(--dark);
  font-size: 17px;
  line-height: 1.7;
  background: white;
}
.tv-comparison .tv-container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.tv-comparison .tv-reading { max-width: 880px; }
.tv-comparison .tv-section { padding-block: 80px; }
.tv-comparison .tv-tint { background: var(--light); }
.tv-comparison h1, .tv-comparison h2, .tv-comparison h3 {
  font-family: var(--font--headings);
  font-weight: 500;
  color: var(--dark);
  margin: 0 0 24px;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.tv-comparison h1 { font-size: clamp(38px, 5vw, 64px); }
.tv-comparison h2 { font-size: clamp(28px, 3.2vw, 40px); }
.tv-comparison h3 { font-size: 23px; margin-bottom: 20px; }
.tv-comparison p { margin: 0 0 20px; }
.tv-comparison p:last-child { margin-bottom: 0; }
.tv-comparison .tv-hero {
  padding: 88px 0 80px;
  background: linear-gradient(125deg, #efeffa 0%, #edf5ff 100%);
  text-align: center;
  border-radius: 0 0 64px 64px;
}
.tv-comparison .tv-eyebrow { display: inline-block; margin-bottom: 24px; color: #6235d9; font-weight: 600; }
.tv-comparison .tv-intro { max-width: 920px; margin: 0 auto 32px; font-size: 19px; }
.tv-comparison .tv-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; }
.tv-comparison .tv-button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 28px; border: 2px solid var(--purple); border-radius: 8px;
  background: var(--purple); color: white; font-family: var(--font--headings);
  font-size: 18px; font-weight: 500; line-height: 1.4; text-decoration: none;
}
.tv-comparison .tv-button:hover { background: #5e32df; border-color: #5e32df; }
.tv-comparison .tv-button-secondary { color: #6235d9; background: transparent; }
.tv-comparison .tv-button-secondary:hover { background: #e6dfff; color: #5025bf; }
.tv-comparison a:focus-visible, .tv-comparison summary:focus-visible, .tv-comparison .tv-table-scroll:focus-visible { outline: 3px solid #176dbd; outline-offset: 5px; }
.tv-comparison .tv-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tv-comparison .tv-card { min-width: 0; padding: 32px; border: 1px solid #dcdcea; border-radius: 20px; background: white; }
.tv-comparison .tv-card-highlight { border-color: #bba5f7; background: #f8f5ff; }
.tv-comparison .tv-rich ul { margin: 0; padding-left: 24px; }
.tv-comparison .tv-rich li { padding-left: 4px; margin-bottom: 12px; }
.tv-comparison .tv-rich li:last-child { margin-bottom: 0; }
.tv-comparison .tv-rich li::marker { color: #7245ff; }
.tv-comparison .tv-section-intro { max-width: 960px; margin-bottom: 32px; }
.tv-comparison .tv-price-label { font: 600 15px/1.5 var(--font--body); letter-spacing: .04em; }
.tv-comparison .tv-price { margin: 24px 0; color: #6235d9; font: 500 clamp(36px, 4vw, 52px)/1.2 var(--font--headings); }
.tv-comparison .tv-price-period { font-size: 18px; color: var(--dark); white-space: nowrap; }
.tv-comparison .tv-note { margin-top: 24px; font-size: 15px; }
.tv-comparison .tv-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #dcdcea; border-radius: 16px; }
.tv-comparison table { width: 100%; min-width: 660px; border-collapse: collapse; table-layout: fixed; font-size: 16px; }
.tv-comparison th, .tv-comparison td { padding: 22px 24px; text-align: left; vertical-align: top; border-bottom: 1px solid #e0e0ed; overflow-wrap: anywhere; }
.tv-comparison thead { background: var(--dark); color: white; }
.tv-comparison th { font-weight: 600; }
.tv-comparison th:first-child { width: 24%; }
.tv-comparison tbody td:nth-child(2) { background: #f8f5ff; }
.tv-comparison tbody tr:last-child > * { border-bottom: 0; }
.tv-comparison td p { margin-bottom: 12px; }
.tv-comparison .tv-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tv-comparison .tv-feature { padding: 28px 24px; }
.tv-comparison .tv-feature img { width: 40px; height: 40px; margin-bottom: 24px; }
.tv-comparison .tv-feature h3 { font-size: 22px; }
.tv-comparison .tv-feature p { font-size: 16px; }
.tv-comparison .tv-strengths { margin-top: 64px; max-width: 920px; }
.tv-comparison .tv-checklist { list-style: none; padding: 0; margin: 32px 0 0; }
.tv-comparison .tv-checklist li { position: relative; padding: 20px 20px 20px 54px; border-bottom: 1px solid #dcdcea; }
.tv-comparison .tv-checklist li::before { content: '✓'; position: absolute; left: 16px; color: #6235d9; font-weight: 700; }
.tv-comparison .tv-faq details { border-bottom: 1px solid #d2d2e6; padding: 24px 0; }
.tv-comparison .tv-faq summary { cursor: pointer; font: 500 21px/1.5 var(--font--headings); padding-right: 16px; }
.tv-comparison .tv-faq summary::marker { color: #6235d9; }
.tv-comparison .tv-faq .tv-rich { padding: 20px 0 0; }
.tv-comparison .tv-cta { text-align: center; background: var(--dark); color: white; }
.tv-comparison .tv-cta h2 { color: white; }
.tv-comparison .tv-cta p { margin-bottom: 32px; }
@media (max-width: 991px) {
  .tv-comparison .tv-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .tv-comparison .tv-container { width: calc(100% - 40px); }
  .tv-comparison .tv-section { padding-block: 48px; }
  .tv-comparison .tv-hero { padding: 56px 0; border-radius: 0 0 32px 32px; }
  .tv-comparison .tv-intro { font-size: 17px; }
  .tv-comparison .tv-two-col { grid-template-columns: minmax(0, 1fr); }
  .tv-comparison .tv-card { padding: 24px; }
  .tv-comparison .tv-strengths { margin-top: 48px; }
}
@media (max-width: 479px) {
  .tv-comparison .tv-features { grid-template-columns: minmax(0, 1fr); }
  .tv-comparison .tv-actions { flex-direction: column; }
}

/* Comparison hub shares the comparison pages' type, cards and section rhythm. */
.tv-comparison .hub-comparisons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tv-comparison .hub-card { display: flex; flex-direction: column; color: var(--dark); font-weight: 400; text-decoration: none; transition: border-color .15s, background-color .15s; }
.tv-comparison .hub-card:hover { border-color: #bba5f7; background: #f8f5ff; }
.tv-comparison .hub-card p { margin-bottom: 24px; }
.tv-comparison .hub-card-action { margin-top: auto; color: #6235d9; font-weight: 600; }
.tv-comparison.comparison-hub .tv-hero h1 { max-width: 1040px; margin-inline: auto; }
@media (max-width: 991px) {
  .tv-comparison .hub-comparisons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .tv-comparison .hub-comparisons { grid-template-columns: minmax(0, 1fr); }
}
.tv-comparison .tv-two-col > :only-child { grid-column: 1 / -1; }
.tv-comparison h1, .tv-comparison h2, .tv-comparison h3 { overflow-wrap: anywhere; }
