/* Pricing banner: stays at the top of the pricing section, never over page content. */
.launch-pricing-banner {
  height: 2.65rem;
  margin: 0 0 2rem;
  overflow: hidden;
  border: 1px solid #8116e0;
  border-radius: .6rem;
  background: #d4ff3a;
  color: #510e8c;
}
.launch-pricing-banner-track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  animation: launch-banner-right 22s linear infinite;
}
.launch-pricing-banner-copy {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  padding-inline: 1.25rem;
  font: 900 .78rem/1 Urbanist, Arial, sans-serif;
  letter-spacing: .06em;
  white-space: nowrap;
}
@keyframes launch-banner-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .launch-pricing-banner { height: auto; min-height: 2.65rem; }
  .launch-pricing-banner-track { width: 100%; min-width: 0; animation: none; }
  .launch-pricing-banner-copy { flex: 1 1 auto; min-width: 0; padding: .65rem 1rem; text-align: center; white-space: normal; line-height: 1.35; }
  .launch-pricing-banner-copy + .launch-pricing-banner-copy { display: none; }
}

/* The cards show base prices; the launch discount appears in the banner and estimate. */
.plan .pricing .price-value { display: inline-flex; align-items: baseline; gap: 2px; width: fit-content; max-width: 100%; color: inherit; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plan .pricing .price-currency { margin-left: .16em; font-size: .43em; font-weight: 700; letter-spacing: -.02em; opacity: 1; }
.plan .pricing .price-amount { font-size: 1em; font-weight: 800; letter-spacing: -.04em; }
.plan .pricing .price-decimals { font-size: .46em; font-weight: 700; letter-spacing: -.02em; opacity: 1; }
