/* Keep all readable site text at 20px or larger. */
body {
  font-size: 20px !important;
}

p,
li,
a:not(.brand),
button,
input,
label,
small,
th,
td,
.join-conversation,
.letter-step__number,
.problem-points span,
.price-card__badge,
.saving-copy,
.site-footer h2,
.legal-copy h3,
.execution-strip strong {
  font-size: 20px !important;
}

strong,
sup,
.site-footer .footer-about p,
.trial-form .cta-note,
.price-card .cta-note,
#af-form-1921306198 input.text,
#af-form-1921306198 input.submit {
  font-size: 20px !important;
}

.problem-copy p:first-of-type {
  font-size: 24px !important;
}

.home-hero .hero-subhead,
.home-hero .home-hero__lead {
  font-size: 30px !important;
}

.performance-section {
  background: #0a1620;
}

.performance-section__content {
  max-width: 1280px;
}

.performance-section h2 {
  margin-bottom: 28px;
  color: var(--white);
  font-size: 36px;
  text-align: center;
}

.performance-chart {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

.performance-chart img {
  width: 100%;
}

.performance-copy {
  max-width: 1040px;
  margin: 34px auto 0;
}

.performance-copy p {
  color: #e3ebee;
  line-height: 1.6;
}

/* Keep collapsed FAQ questions legible against the dark section background. */
.faq-section .faq-item button {
  color: #f6fafb;
}

/* `.confirmation a` turns links orange; keep the button label white on its orange fill. */
.confirmation .button {
  color: #fff;
}

/* Full-size PayPal button in plan cards; responsive.css shrinks it for the old pricing table. */
.price-card .paypal-button {
  width: 160px;
  margin: 10px auto 0;
}

/* Subscribe page hero copy. */
.subscribe-hero .page-hero-subtitle {
  margin-bottom: 22px;
  padding-bottom: 0;
}

.subscribe-hero__copy {
  max-width: 760px;
}

.subscribe-hero__copy p {
  padding-bottom: 14px;
  color: #fff;
  line-height: 1.55;
}

/* Subscribe page plan cards: tier label and list up top, price and PayPal at the card foot. */
.page-subscribe .price-card ul {
  flex: none;
}

.price-card__intro {
  margin: 22px 0 14px;
  padding-bottom: 0;
  color: #fff;
  font-weight: 700;
}

.price-card__note {
  margin-top: 4px;
  padding-bottom: 0;
  color: #f68548;
  font-weight: 700;
}

.price-card__buy {
  margin-top: auto;
  padding-top: 26px;
  text-align: center;
}

.price-card__buy p {
  padding-bottom: 0;
}

.price-card__pay {
  color: #fff;
  font-weight: 800;
}

.price-card__buy .saving-copy {
  margin-top: 4px;
}

/* Subscribe page: plan comparison, fit line, and disclaimer under the cards. */
.pricing-summary {
  max-width: 820px;
  margin: 56px auto 0;
  text-align: center;
}

.pricing-summary p {
  padding-bottom: 0;
  color: #fff;
  line-height: 1.5;
}

.pricing-summary p + p {
  margin-top: 10px;
}

.pricing-summary .pricing-summary__fit {
  margin-top: 30px;
  font-weight: 800;
}

.pricing-summary .pricing-summary__disclaimer {
  margin-top: 24px;
  color: #9aa4ab;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .performance-section h2 {
    font-size: 28px;
  }

  .performance-chart {
    border-radius: 10px;
  }

  .pricing-summary {
    margin-top: 36px;
  }
}

/* Phones: scale the 20px desktop type baseline down and give content more width. */
@media (max-width: 767px) {
  .site-shell {
    width: 88%;
  }

  p,
  li,
  a:not(.brand),
  button,
  input,
  label,
  small,
  th,
  td,
  strong,
  sup,
  .join-conversation,
  .price-card__badge,
  .saving-copy,
  .site-footer h2,
  .legal-copy h3,
  .execution-strip strong,
  .site-footer .footer-about p,
  .trial-form .cta-note,
  .price-card .cta-note,
  #af-form-1921306198 input.text,
  #af-form-1921306198 input.submit,
  .home-hero .hero-trust,
  .audience-conclusion p,
  .how-letter__heading p,
  .how-feature__copy p,
  .how-me__copy > p:not(.cta-note):not(.compliance-note) {
    font-size: 16px !important;
  }

  .letter-step__number,
  .problem-points span {
    font-size: 14px !important;
  }

  .home-hero .hero-subhead,
  .problem-copy p:first-of-type,
  .audience-account p,
  .how-overview > p {
    font-size: 18px !important;
  }

  .page-hero > h1 {
    padding: 0 6%;
    font-size: 34px;
    line-height: 1.1;
  }

  .jeff-section h2,
  .close-section h2 {
    font-size: 30px;
  }

  .testimonials-page .testimonial-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .testimonials-page .testimonial-card {
    padding: 28px 22px;
  }

  .testimonial-card strong,
  .testimonial-card small {
    overflow-wrap: anywhere;
  }

  .testimonial-marquee__group {
    align-items: stretch;
  }

  /* Cards stack on phones, so the summary no longer needs room to line up with its neighbours. */
  .plan-summary {
    min-height: 0;
  }
}
