.msa-kicker {
  color: var(--c-accent);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  margin: 0 0 var(--sp-xs);
  text-transform: uppercase;
}

.msa-verdict-box,
.msa-tldr,
.msa-pricing-table,
.msa-compare-table,
.msa-faq {
  margin-block: var(--sp-xl);
}

.msa-verdict-box,
.msa-tldr {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  padding: clamp(1rem, 2vw, 1.5rem);
}

.msa-verdict-box__header h2,
.msa-tldr h2 {
  margin-block: 0 var(--sp-sm);
}

.msa-verdict-box__summary {
  color: var(--c-muted);
  margin-block-end: var(--sp-lg);
}

.msa-verdict-box__grid {
  display: grid;
  gap: var(--sp-md);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msa-verdict-box__panel {
  background: color-mix(in srgb, var(--c-bg) 70%, var(--c-surface));
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  padding: var(--sp-md);
}

.msa-verdict-box__panel h3 {
  font-family: var(--font-body);
  font-size: 1rem;
  margin-block: 0 var(--sp-sm);
}

.msa-verdict-box__panel ul {
  margin-block: 0;
  padding-inline-start: 1.2rem;
}

.msa-verdict-box__panel--pos h3 {
  color: var(--c-pos);
}

.msa-verdict-box__panel--neg h3 {
  color: var(--c-neg);
}

.msa-verdict-box__footer {
  align-items: center;
  border-top: 1px solid var(--c-border);
  display: flex;
  gap: var(--sp-md);
  justify-content: space-between;
  margin-top: var(--sp-lg);
  padding-top: var(--sp-md);
}

.msa-price-line {
  margin: 0;
}

.msa-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.msa-pricing-table table,
.msa-compare-table table {
  background: var(--c-bg);
  border-collapse: collapse;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  min-width: 680px;
  width: 100%;
}

.msa-pricing-table th,
.msa-pricing-table td,
.msa-compare-table th,
.msa-compare-table td {
  border-bottom: 1px solid var(--c-border);
  padding: .85rem;
  text-align: left;
  vertical-align: top;
}

.msa-pricing-table thead th,
.msa-compare-table thead th {
  background: var(--c-surface);
  color: var(--c-text);
  font-weight: 900;
}

.msa-pricing-table tbody tr:last-child th,
.msa-pricing-table tbody tr:last-child td,
.msa-compare-table tbody tr:last-child th,
.msa-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.msa-faq details {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  margin-block: var(--sp-sm);
  padding: var(--sp-md);
}

.msa-faq summary {
  cursor: pointer;
  font-weight: 800;
}

.msa-faq summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--c-accent) 38%, transparent);
  outline-offset: 4px;
}

.msa-faq__answer {
  color: var(--c-muted);
  padding-top: var(--sp-sm);
}

.msa-faq__answer > :last-child,
.msa-tldr > :last-child {
  margin-bottom: 0;
}

.msa-tldr {
  background: var(--c-note-bg);
  border-color: color-mix(in srgb, var(--c-note) 35%, var(--c-border));
}

.msa-tldr .msa-kicker,
.msa-tldr h2 {
  color: var(--c-note);
}

.msa-sticky-cta {
  display: none;
}

@media (max-width: 720px) {
  .msa-verdict-box__grid,
  .msa-verdict-box__footer {
    display: grid;
    grid-template-columns: 1fr;
  }

  .msa-verdict-box__footer .msa-cta,
  .msa-compare-table .msa-cta {
    width: 100%;
  }

  .msa-sticky-cta {
    align-items: center;
    background: var(--c-bg);
    border-top: 1px solid var(--c-border);
    bottom: 0;
    box-shadow: 0 -10px 28px rgba(28, 25, 23, .12);
    display: flex;
    gap: var(--sp-sm);
    justify-content: space-between;
    left: 0;
    opacity: 0;
    padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
    pointer-events: none;
    position: fixed;
    right: 0;
    transform: translateY(100%);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 50;
  }

  .msa-sticky-cta.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .msa-sticky-cta__text {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.25;
  }
}
