.pricing .plan-grid {
  gap: clamp(12px, 2vw, 24px);
}

.pricing .plan-card {
  border-radius: 19px;
}

.pricing .plan-card.is-featured {
  color: #f6fbf8;
  background: #163b32;
  border-color: #163b32;
  box-shadow: 0 14px 28px #0e452726;
}

.pricing .is-featured .plan-features,
.pricing .is-featured .plan-desc,
.pricing .is-featured .plan-price small,
.pricing .is-featured .plan-billed {
  color: #d4e6dc;
}

.pricing .is-featured .plan-features { border-color: #4b685d; }
.pricing .is-featured .plan-features li::before { color: #b7ed9f; }
.pricing .is-featured .plan-badge { color: #143d23; background: #d3efba; }
.pricing .is-featured .button { background: #def3c3; border-color: #def3c3; color: #193d2a; }
.pricing .is-featured .button:hover { background: #efffde; }
.pricing .is-featured .button:focus-visible { outline-color: #def3c3; }

.comparison-jump {
  display: block;
  width: fit-content;
  margin: 22px auto 0;
  color: var(--blue-deep);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: .2em;
}

#so-sanh-goi, #retest-terms { scroll-margin-block-start: 6rem; }
.pricing-comparison { background: #fff; }
.comparison-heading { margin-block-end: 26px; }
.comparison-scroll {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: white;
}
.comparison-scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

.comparison-table {
  width: 100%;
  min-width: 705px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .88rem;
}
.comparison-table tr > :first-child {
  width: 34%;
  text-align: start;
}
.comparison-table th, .comparison-table td {
  padding: 11px clamp(9px, 1.3vw, 17px);
  border-block-end: 1px solid #e1eae3;
  border-inline-end: 1px solid #e1eae3;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.comparison-table tr > :last-child { border-inline-end: 0; }
.comparison-table thead th { padding-block: 18px; background: #f5f8f5; font-weight: 780; }
.comparison-table thead span, .comparison-table thead small { display: block; }
.comparison-table thead small { color: var(--muted); font-size: .72rem; margin-block-start: 4px; }
.comparison-table .compare-head-price { margin-block-start: 9px; }
.comparison-table strong { display: block; font-size: 1.03rem; letter-spacing: -.035em; }
.comparison-table td small { display: block; color: var(--muted); font-size: .74rem; margin-block-start: 3px; }
.comparison-table .compare-featured { background: #f0f8f0; }
.comparison-table thead .compare-featured { background: #e5f2e5; }
.comparison-table tbody th { font-weight: 650; }
.comparison-table .compare-group th { padding-block: 11px; background: #edf2ee; color: #294b3c; font-size: .82rem; font-weight: 800; }
.comparison-table tfoot :is(th, td) { border-block-end: 0; padding-block: 15px; }
.comparison-table tfoot .button { width: 100%; min-height: 39px; line-height: 1.22; }
.compare-check { color: #246044; font-weight: 700; }
.compare-check span { font-size: 1.02rem; margin-inline-end: 3px; }

.retest-section { background: #fff; padding-block-start: 0; }
.retest-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(205px, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 65px);
  padding: clamp(23px, 4.5vw, 54px);
  border-radius: 21px;
  background: #183d31;
  color: #f8fcf8;
}
.retest-panel .section-kicker { color: #c4e6b1; }
.retest-panel h2 {
  margin-block: 12px;
  font: 800 clamp(26px, 3.6vw, 44px)/1.11 var(--display);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.retest-panel p:not(.section-kicker) { color: #d7e8db; max-width: 58ch; }
.retest-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-block-start: 20px;
}
.retest-actions .button { background: #e0f4c4; border-color: #e0f4c4; color: #1e3928; }
.retest-actions .button:hover { background: #efffde; }
.retest-actions a:focus-visible { outline-color: #e0f4c4; }
.retest-link { color: #eaf9dd; text-decoration: underline; text-underline-offset: .2em; }
.retest-benefits {
  display: grid;
  gap: 10px;
  padding: 0;
  list-style: none;
}
.retest-benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid #48715e;
  border-radius: 10px;
  background: #234c3c;
  font-size: .92rem;
}
.retest-benefits li::before { content: '✓'; color: #d4f6bc; font-weight: 800; }

@media (max-width: 730px) {
  .retest-panel { grid-template-columns: minmax(0, 1fr); }
  .comparison-table { min-width: 630px; }
  .comparison-table tr > :first-child { width: 30%; }
  .comparison-table tr:not(.compare-group) > th:first-child {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    background: #fff;
    box-shadow: 4px 0 8px #273d2a0e;
  }
  .comparison-table thead tr > th:first-child { background: #f5f8f5; }
}

.hero-retest-link {
  display: inline-block;
  margin-block-start: 14px;
  color: var(--blue-deep);
  font-size: .9rem;
  font-weight: 750;
  text-underline-offset: .2em;
  text-decoration: underline;
}
