.rv-checkout,
.rv-checkout * {
  box-sizing: border-box;
}

.rv-checkout {
  --rv-ink: #10233f;
  --rv-navy: #0c2d55;
  --rv-blue: #1268a8;
  --rv-sky: #dff2fb;
  --rv-mint: #dff4ea;
  --rv-green: #15845c;
  --rv-coral: #f36f56;
  --rv-paper: #ffffff;
  --rv-canvas: #f3f7fa;
  --rv-line: #d8e2e9;
  --rv-muted: #5f7082;
  color: var(--rv-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;
}

.rv-checkout [hidden] {
  display: none !important;
}

.rv-checkout__hero {
  align-items: center;
  background:
    radial-gradient(circle at 85% 10%, rgba(71, 186, 215, .28), transparent 34%),
    linear-gradient(135deg, #081f3d 0%, #0e4775 100%);
  border-radius: 28px;
  color: #fff;
  display: flex;
  min-height: clamp(290px, 30vw, 360px);
  overflow: hidden;
  padding: clamp(30px, 5vw, 58px);
  position: relative;
}

.rv-checkout__hero-copy {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  position: relative;
  z-index: 1;
}

.rv-checkout__hero::after {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  content: "";
  height: 280px;
  position: absolute;
  right: -115px;
  top: -145px;
  width: 280px;
}

.rv-checkout__eyebrow,
.rv-checkout__included > p,
.rv-checkout__faq > p,
.rv-checkout__summary-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  margin: 0;
  text-transform: uppercase;
}

.rv-checkout__eyebrow {
  color: #85d9ef;
}

.rv-checkout__hero h1 {
  color: #fff;
  font-size: clamp(2.125rem, 3.8vw, 3rem);
  letter-spacing: -.035em;
  line-height: 1.06;
  margin: 0 0 17px;
  max-width: 880px;
}

.rv-checkout__offer-timer {
  --rv-timer-progress: 360deg;
  flex: 0 0 250px;
  max-width: 250px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.rv-checkout__offer-timer-label {
  color: #f4fbff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .005em;
  line-height: 1.4;
  margin: 0 0 14px;
  padding: 0;
  text-shadow: 0 1px 2px rgba(0, 20, 38, .42);
  text-wrap: balance;
}

.rv-checkout__offer-timer-circle {
  align-items: center;
  aspect-ratio: 1;
  background: rgba(4, 31, 54, .72);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  box-shadow: 0 26px 58px rgba(0, 22, 42, .34), inset 0 0 50px rgba(52, 188, 246, .08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  max-width: 210px;
  padding: 34px;
  position: relative;
  text-align: center;
  width: 210px;
  z-index: 1;
}

.rv-checkout__offer-timer-circle::before {
  background: rgba(5, 39, 66, .94);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  box-shadow: inset 0 0 34px rgba(56, 175, 225, .08);
  content: "";
  inset: 27px;
  position: absolute;
}

.rv-checkout__offer-timer-ring {
  background: conic-gradient(#f58220 0deg var(--rv-timer-progress), rgba(255, 255, 255, .15) var(--rv-timer-progress) 360deg);
  border-radius: 50%;
  inset: 14px;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  position: absolute;
  transition: background .25s linear;
}

.rv-checkout__offer-timer-circle small {
  color: #e6f5fc;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .08em;
  line-height: 1.38;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.rv-checkout__offer-timer-circle strong {
  color: #fff;
  font-size: 42px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  line-height: 1;
  margin: 13px 0 9px;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}

.rv-checkout__offer-timer-circle em {
  color: #ffd3ac;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .045em;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.rv-checkout__hero-subtitle {
  color: #d6e7f3;
  font-size: clamp(1rem, 1.7vw, 1.125rem);
  line-height: 1.6;
  margin: 0;
  max-width: 720px;
}

.rv-checkout__steps {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rv-checkout__steps li {
  align-items: center;
  color: #c9ddeb;
  display: flex;
  font-size: 14px;
  gap: 11px;
}

.rv-checkout__steps span {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  display: inline-flex;
  font-size: 12px;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.rv-checkout__steps .is-current {
  color: #fff;
  font-weight: 700;
}

.rv-checkout__steps .is-current span {
  background: #fff;
  color: var(--rv-navy);
}

.rv-checkout__layout {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .7fr);
  margin-top: 28px;
}

.rv-checkout__form {
  display: grid;
  gap: 20px;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.rv-checkout__order-form {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 20px;
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.rv-checkout__trap {
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

.rv-checkout__panel,
.rv-checkout__summary,
.rv-checkout__included {
  background: var(--rv-paper);
  border: 1px solid var(--rv-line);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(15, 46, 78, .07);
  margin: 0;
  padding: clamp(21px, 4vw, 32px);
}

fieldset.rv-checkout__panel {
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100%;
}

.rv-checkout__plan-panel legend {
  color: var(--rv-navy);
  font-size: 21px;
  font-weight: 800;
  padding: 0 4px;
}

.rv-checkout__plan-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}

.rv-checkout__plan-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.rv-checkout__plan {
  align-items: center;
  background: #fbfdfe;
  border: 2px solid var(--rv-line);
  border-radius: 16px;
  cursor: pointer;
  display: grid;
  gap: 11px;
  grid-template-columns: auto 1fr auto;
  min-height: 104px;
  margin: 0;
  padding: 19px;
  position: relative;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.rv-checkout__plan:hover {
  border-color: #90bdd7;
  transform: translateY(-1px);
}

.rv-checkout__plan.is-selected {
  background: #f2f9fd;
  border-color: var(--rv-blue);
  box-shadow: 0 8px 22px rgba(18, 104, 168, .11);
}

.rv-checkout__plan input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.rv-checkout__radio {
  border: 2px solid #9babb8;
  border-radius: 50%;
  height: 21px;
  position: relative;
  width: 21px;
}

.rv-checkout__plan.is-selected .rv-checkout__radio {
  border-color: var(--rv-blue);
}

.rv-checkout__plan.is-selected .rv-checkout__radio::after {
  background: var(--rv-blue);
  border-radius: 50%;
  content: "";
  inset: 4px;
  position: absolute;
}

.rv-checkout__plan-copy,
.rv-checkout__plan-price {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.rv-checkout__plan-copy strong {
  color: var(--rv-navy);
  font-size: 17px;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.rv-checkout__plan-copy small,
.rv-checkout__plan-price small {
  color: var(--rv-muted);
  font-size: 12px;
}

.rv-checkout__plan-price {
  text-align: right;
}

.rv-checkout__plan-price b {
  color: var(--rv-navy);
  font-size: 25px;
  line-height: 1.05;
  white-space: nowrap;
}

.rv-checkout__plan-badge {
  align-self: start;
  background: var(--rv-sky);
  border-radius: 999px;
  color: var(--rv-blue);
  display: inline-flex;
  font-size: 10px;
  font-weight: 800;
  justify-self: start;
  padding: 5px 8px;
  text-transform: uppercase;
}

.rv-checkout__plan-badge--save {
  background: var(--rv-mint);
  color: #0d6848;
}

.rv-checkout__section-heading {
  align-items: start;
  display: flex;
  gap: 14px;
  margin-bottom: 24px;
}

.rv-checkout__section-heading > span {
  align-items: center;
  background: var(--rv-sky);
  border-radius: 10px;
  color: var(--rv-blue);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 38px;
}

.rv-checkout__section-heading h2 {
  color: var(--rv-navy);
  font-size: 21px;
  margin: 0 0 5px;
}

.rv-checkout__section-heading p {
  color: var(--rv-muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.rv-checkout__fields {
  display: grid;
  gap: 14px;
  margin-bottom: 15px;
}

.rv-checkout__fields:last-child {
  margin-bottom: 0;
}

.rv-checkout__app-instance {
  margin-top: 15px;
}

.rv-checkout__account-verification {
  position: absolute;
  right: 5px;
  top: 5px;
  z-index: 1;
}

.rv-checkout__account-verification-button {
  background: #fff6f3;
  border: 1px solid #b73525;
  border-radius: 4px;
  box-shadow: none;
  color: #b73525;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  height: 43px;
  min-height: 43px;
  min-width: 78px;
  padding: 0 10px;
  width: auto;
}

.rv-checkout__account-verification-button:hover:not(:disabled) {
  background: #ffebe5;
}

.rv-checkout__account-verification-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.rv-checkout__account-verification-button:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.rv-checkout__account-verification[data-verification-state="verified"] .rv-checkout__account-verification-button {
  background: #f1f8f2;
  border-color: #237a3b;
  color: #237a3b;
}

.rv-checkout__app-instance-status[data-rv-choice-error="true"] {
  color: #862316;
  font-weight: 700;
  margin-top: 7px;
}

.rv-checkout__fields--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rv-checkout__fields--city {
  grid-template-columns: 1.25fr .8fr .8fr;
}

.rv-checkout__fields label {
  color: #35495e;
  display: grid;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  margin: 0;
}

.rv-checkout__fields label > span {
  color: var(--rv-muted);
  font-weight: 400;
}

.rv-checkout__fields input,
.rv-checkout__fields select {
  appearance: none;
  background: #fff;
  border: 1px solid #bdcbd6;
  border-radius: 10px;
  color: var(--rv-ink);
  font: inherit;
  font-size: 16px;
  min-height: 50px;
  padding: 11px 13px;
  width: 100%;
}

.rv-checkout__fields select {
  background-image: linear-gradient(45deg, transparent 50%, #5f7082 50%), linear-gradient(135deg, #5f7082 50%, transparent 50%);
  background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  padding-right: 36px;
}

.rv-checkout__fields input:focus,
.rv-checkout__fields select:focus {
  border-color: var(--rv-blue);
  box-shadow: 0 0 0 4px rgba(18, 104, 168, .11);
  outline: 0;
}

.rv-checkout__field-hint {
  color: var(--rv-muted);
  font-size: 13px;
  line-height: 1.5;
  margin: -3px 0 0;
}

.rv-checkout__credential-error {
  background: #fff2ef;
  border: 1px solid #b73525;
  border-radius: 8px;
  color: #862316;
  font-size: 14px;
  line-height: 1.5;
  margin: 12px 0 0;
  padding: 10px 12px;
}

.rv-checkout__credential-error a {
  color: inherit;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 700;
  line-height: inherit !important;
  text-decoration: underline;
}

.rv-checkout .rv-checkout__contact .rv-checkout__fields input[aria-invalid="true"] {
  background: #fff2ef !important;
  border: 2px solid #b73525 !important;
  box-shadow: 0 0 0 3px rgba(183, 53, 37, .14) !important;
}

.rv-checkout .rv-checkout__contact .rv-checkout__app-instance select[aria-invalid="true"] {
  background-color: #fff2ef !important;
  border: 2px solid #b73525 !important;
  box-shadow: 0 0 0 3px rgba(183, 53, 37, .14) !important;
}

.rv-checkout .rv-checkout__contact .rv-checkout__fields input[data-rv-required-error="true"]::placeholder {
  color: #862316 !important;
  opacity: 1;
}

.rv-checkout__bump {
  align-items: start;
  background: linear-gradient(135deg, #fff4ef, #fffaf8 72%, #fff);
  border: 2px solid #f5a895;
  border-radius: 20px;
  cursor: pointer;
  display: grid;
  gap: 13px;
  grid-template-columns: auto 1fr;
  margin: 0;
  padding: 22px;
}

.rv-checkout__bump input {
  accent-color: var(--rv-coral);
  height: 22px;
  margin: 2px 0 0;
  width: 22px;
}

.rv-checkout__bump > span:last-child {
  display: grid;
  gap: 7px;
}

.rv-checkout__bump strong {
  color: #813424;
  font-size: 16px;
  line-height: 1.35;
}

.rv-checkout__bump small {
  color: #73564f;
  font-size: 15px;
  line-height: 1.55;
}

.rv-checkout__secure-row {
  align-items: center;
  background: #f4faf7;
  border: 1px solid #b9ddcc;
  border-radius: 13px;
  display: flex;
  gap: 13px;
  padding: 17px;
}

.rv-checkout__lock {
  align-items: center;
  background: var(--rv-green);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 800;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.rv-checkout__secure-row div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.rv-checkout__secure-row small {
  color: var(--rv-muted);
  font-size: 12px;
  line-height: 1.45;
}

.rv-checkout__secure-row strong {
  line-height: 1.35;
}

.rv-checkout__hosted-shell {
  background: #f7fafc;
  border: 1px solid var(--rv-line);
  border-radius: 13px;
  margin-top: 18px;
  min-height: 132px;
  overflow: hidden;
  position: relative;
}

.rv-checkout__hosted-placeholder {
  color: var(--rv-muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  padding: 42px 24px;
  text-align: center;
}

.rv-checkout__hosted-token-form {
  /* Transport-only form: submitting the token never requires a visible box. */
  display: none !important;
  border: 0;
  margin: 0;
  padding: 0;
}

.rv-checkout__hosted-frame {
  background: #fff;
  border: 0;
  display: block;
  min-height: 650px;
  width: 100%;
}

.rv-checkout__terms {
  align-items: start;
  color: #4e6072;
  display: flex;
  font-size: 15px;
  gap: 11px;
  line-height: 1.55;
  margin: 18px 0;
}

.rv-checkout__terms-copy {
  display: grid;
  gap: 10px;
}

.rv-checkout__terms input {
  accent-color: var(--rv-blue);
  flex: 0 0 auto;
  height: 20px;
  margin-top: 1px;
  width: 20px;
}

.rv-checkout__submit {
  align-items: center;
  background: var(--rv-coral);
  border: 0;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(243, 111, 86, .24);
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 16px;
  font-weight: 800;
  justify-content: space-between;
  min-height: 56px;
  padding: 15px 18px;
  width: 100%;
}

.rv-checkout__submit:hover:not(:disabled) {
  background: #dc5b45;
}

.rv-checkout__submit:disabled {
  background: #92a1ad;
  box-shadow: none;
  cursor: not-allowed;
}

.rv-checkout__accept {
  position: absolute;
}

.rv-checkout__status {
  color: #8b3527;
  font-size: 13px;
  line-height: 1.5;
  margin: 13px 0 0;
}

.rv-checkout__aside {
  display: grid;
  gap: 20px;
  position: sticky;
  top: 22px;
}

.rv-checkout__summary-label {
  color: var(--rv-blue);
}

.rv-checkout__summary-product {
  align-items: center;
  display: grid;
  gap: 13px;
  grid-template-columns: auto 1fr;
  margin: 20px 0;
}

.rv-checkout__product-mark {
  align-items: center;
  background: linear-gradient(135deg, var(--rv-blue), var(--rv-navy));
  border-radius: 14px;
  color: #fff;
  display: flex;
  font-size: 18px;
  font-weight: 800;
  height: 54px;
  justify-content: center;
  width: 54px;
}

.rv-checkout__product-mark span {
  white-space: nowrap;
}

.rv-checkout__product-mark--compact {
  font-size: 13px;
  letter-spacing: -.03em;
}

.rv-checkout__summary-product > div:last-child {
  display: grid;
  gap: 5px;
  min-width: 0;
  overflow-wrap: break-word;
}

.rv-checkout__summary-product small {
  color: var(--rv-muted);
  line-height: 1.45;
}

.rv-checkout__totals {
  border-bottom: 1px solid var(--rv-line);
  border-top: 1px solid var(--rv-line);
  margin: 0;
  padding: 8px 0;
}

.rv-checkout__totals > div {
  display: flex;
  font-size: 13px;
  gap: 16px;
  justify-content: space-between;
  padding: 9px 0;
}

.rv-checkout__totals dt,
.rv-checkout__totals dd {
  margin: 0;
}

.rv-checkout__totals dt {
  min-width: 0;
  overflow-wrap: break-word;
}

.rv-checkout__totals dd {
  flex: 0 0 auto;
  white-space: nowrap;
}

.rv-checkout__total {
  align-items: end;
  color: var(--rv-navy);
  font-size: 16px !important;
  font-weight: 800;
}

.rv-checkout__total dd {
  font-size: 28px;
}

.rv-checkout__renewal {
  color: var(--rv-muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 14px 0 22px;
}

.rv-checkout__guarantee {
  align-items: center;
  background: var(--rv-mint);
  border-radius: 14px;
  display: grid;
  gap: 11px;
  grid-template-columns: auto 1fr;
  padding: 15px;
}

.rv-checkout__guarantee > span {
  align-items: center;
  border: 2px solid var(--rv-green);
  border-radius: 50%;
  color: var(--rv-green);
  display: flex;
  font-size: 14px;
  font-weight: 800;
  height: 45px;
  justify-content: center;
  width: 45px;
}

.rv-checkout__guarantee p {
  display: grid;
  gap: 3px;
  margin: 0;
  min-width: 0;
}

.rv-checkout__guarantee small {
  color: #476556;
  font-size: 11px;
  line-height: 1.45;
}

.rv-checkout__guarantee strong {
  line-height: 1.3;
}

.rv-checkout__included {
  background: var(--rv-navy);
  color: #fff;
}

.rv-checkout__included h2 {
  color: #fff;
  font-size: 23px;
  line-height: 1.25;
  margin: 12px 0 19px;
  overflow-wrap: break-word;
}

.rv-checkout__included > p {
  color: #83d5eb;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

.rv-checkout__included ul {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rv-checkout__included li {
  color: #d8e8f2;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: break-word;
  padding-left: 22px;
  position: relative;
}

.rv-checkout__included li::before {
  color: #7dd6b4;
  content: "✓";
  font-weight: 800;
  left: 0;
  position: absolute;
}

.rv-checkout__included li span {
  color: #fff;
  font-weight: 800;
}

.rv-checkout__help {
  color: var(--rv-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 2px 0 0;
  text-align: center;
}

.rv-checkout__help a {
  color: var(--rv-blue);
  font-weight: 700;
}

.rv-checkout__faq {
  background: linear-gradient(180deg, #f5f9fc 0%, #eef5f9 100%);
  border: 1px solid #e1eaf0;
  border-radius: 28px;
  margin: clamp(54px, 8vw, 88px) auto 0;
  max-width: 900px;
  padding: clamp(28px, 5vw, 54px);
}

.rv-checkout__faq > p {
  color: var(--rv-blue);
  text-align: center;
}

.rv-checkout__faq > h2 {
  color: var(--rv-navy);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  letter-spacing: -.025em;
  margin: 0 auto 30px;
  max-width: 660px;
  text-align: center;
}

.rv-checkout__faq-list {
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(15, 46, 78, .07);
  overflow: hidden;
}

.rv-checkout__faq details {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rv-line);
  margin: 0;
  padding: 0;
}

.rv-checkout__faq details:last-child {
  border-bottom: 0;
}

.rv-checkout__faq summary {
  align-items: center;
  color: var(--rv-navy);
  cursor: pointer;
  display: grid;
  font-size: 16px;
  font-weight: 800;
  gap: 18px;
  grid-template-columns: 1fr auto;
  line-height: 1.35;
  list-style: none;
  min-height: 70px;
  overflow-wrap: break-word;
  padding: 18px 20px;
}

.rv-checkout__faq summary::-webkit-details-marker {
  display: none;
}

.rv-checkout__faq summary::after {
  align-items: center;
  background: var(--rv-sky);
  border-radius: 50%;
  color: var(--rv-blue);
  content: "+";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 20px;
  font-weight: 500;
  height: 32px;
  justify-content: center;
  line-height: 1;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
  width: 32px;
}

.rv-checkout__faq details[open] summary {
  color: var(--rv-blue);
}

.rv-checkout__faq details[open] summary::after {
  background: var(--rv-blue);
  color: #fff;
  content: "−";
  transform: rotate(180deg);
}

.rv-checkout__faq-answer {
  border-top: 1px solid #edf2f5;
  margin: 0 20px;
  padding: 0 0 20px;
}

.rv-checkout__faq details p {
  color: var(--rv-muted);
  font-size: 14px;
  line-height: 1.65;
  margin: 17px 0 0;
}

.rv-checkout__faq details p a {
  color: var(--rv-blue);
  font-weight: 700;
}

@supports selector(details::details-content) {
  .rv-checkout__faq {
    interpolate-size: allow-keywords;
  }

  .rv-checkout__faq details::details-content {
    block-size: 0;
    opacity: 0;
    overflow: hidden;
    transition: block-size .24s ease, content-visibility .24s allow-discrete, opacity .18s ease;
  }

  .rv-checkout__faq details[open]::details-content {
    block-size: auto;
    opacity: 1;
  }
}

@media (max-width: 1100px) {
  .rv-checkout__hero {
    gap: 34px;
  }

  .rv-checkout__layout {
    grid-template-columns: 1fr;
  }

  .rv-checkout__plan-grid {
    grid-template-columns: 1fr;
  }

  .rv-checkout__aside {
    position: static;
  }

  .rv-checkout__summary {
    order: -1;
  }
}

@media (max-width: 820px) {
  .rv-checkout__hero--timed,
  .rv-checkout__hero:has(.rv-checkout__offer-timer) {
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .rv-checkout__hero--timed .rv-checkout__hero-copy,
  .rv-checkout__hero--timed .rv-checkout__hero-subtitle,
  .rv-checkout__hero:has(.rv-checkout__offer-timer) .rv-checkout__hero-copy,
  .rv-checkout__hero:has(.rv-checkout__offer-timer) .rv-checkout__hero-subtitle {
    margin-left: auto;
    margin-right: auto;
  }

  .rv-checkout__hero--timed .rv-checkout__offer-timer,
  .rv-checkout__hero:has(.rv-checkout__offer-timer) .rv-checkout__offer-timer {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Legacy-source components. The final cascade reinforcement after the source
   typography layer keeps these values authoritative. */
.rv-checkout {
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.rv-checkout--timed {
  max-width: 67.7778rem;
}

.rv-checkout--timed .rv-checkout__legacy-masthead,
.rv-checkout--timed .rv-checkout__hero,
.rv-checkout--timed .rv-checkout__layout,
.rv-checkout--timed .rv-checkout__faq {
  margin-left: auto;
  margin-right: auto;
  max-width: 56.9444rem;
}

.rv-checkout__legacy-masthead {
  background: #fff !important;
  border-bottom: 1px solid #eee;
}

.rv-checkout__legacy-masthead-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 5.75rem;
  padding: .7778rem 1.6667rem;
}

.rv-checkout__legacy-masthead img {
  display: block;
  height: auto;
  max-height: 4rem;
  max-width: 12.7778rem;
  object-fit: contain;
}

.rv-checkout__legacy-masthead p {
  color: #333;
  font-size: .6667rem;
  font-weight: 600;
  line-height: 1.6;
  margin: 0;
  text-align: right;
}

.rv-checkout__legacy-masthead a {
  color: #333;
  text-decoration: none;
}

.rv-checkout--timed .rv-checkout__product-logo {
  display: none;
}

.rv-checkout__hero,
.rv-checkout__hero.rv-checkout__hero--timed {
  padding: 1.0556rem 1.5rem;
}

.rv-checkout__hero h1 {
  font-size: 1.7778rem;
  line-height: 1.4286;
  margin: 0;
}

.rv-checkout__hero-subtitle {
  color: #333;
  font-size: .8889rem;
  font-weight: 700;
  line-height: 1.4286;
  margin: 0;
}

.rv-checkout__hero-title-second-line {
  display: block;
  margin-top: .1778rem;
}

.rv-checkout--single-plan .rv-checkout__plan-panel {
  display: none;
}

.rv-checkout__plan-panel legend,
.rv-checkout__section-heading h2,
.rv-checkout__summary-label {
  color: #515151;
}

.rv-checkout__contact .rv-checkout__fields input,
.rv-checkout__contact .rv-checkout__fields select {
  border-color: #d0d0d0;
  color: #000;
}

.rv-checkout__total dd {
  color: #8dc527;
}

.rv-checkout__product-presentation h2 {
  color: #555;
}

.rv-checkout__product-presentation h2 span {
  color: #333;
}

.rv-checkout__product-name {
  color: #333 !important;
  font-size: 1.83rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 0 0 .5em !important;
}

.rv-checkout--nobs_18 .rv-checkout__digital-product::before {
  content: none;
}

:where(.rv-checkout--nobs_18) .rv-checkout__hero,
:where(.rv-checkout--nobs_18) .rv-checkout__hero.rv-checkout__hero--timed {
  padding-top: .6667rem;
}

:where(.rv-checkout--nobs_18) .rv-checkout__hero h1 {
  font-size: 1.525rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.4;
}

:where(.rv-checkout--aopm_497) .rv-checkout__hero,
:where(.rv-checkout--aopm_497) .rv-checkout__hero.rv-checkout__hero--timed {
  padding-bottom: .1944rem;
  padding-top: .1944rem;
}

:where(.rv-checkout--aopm_497) .rv-checkout__hero h1 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.6;
}

.rv-checkout__included h2,
.rv-checkout__included li span {
  color: #292929;
}

.rv-checkout__included li {
  color: #333;
}

.rv-checkout__included li::before {
  color: #13c519;
  font-size: 1.3889rem;
  line-height: 1;
  top: .12em;
}

.rv-checkout__bump {
  background: #fffcf4;
  border-color: #fce468;
  margin-bottom: 1.3889rem;
  padding: 1.3889rem;
}

.rv-checkout__bump input {
  accent-color: #ed7a2b;
}

.rv-checkout__bump strong {
  color: #228b22;
}

.rv-checkout__bump-title {
  align-items: start;
  display: grid;
  gap: .65rem;
  grid-template-columns: 1.5556rem minmax(0, 1fr);
  min-width: 0;
}

.rv-checkout__bump-arrow {
  display: block;
  height: auto;
  margin-top: .08rem;
  max-width: 100%;
  width: 100%;
}

.rv-checkout__faq {
  margin-top: 2.5rem;
  padding: 0 1rem 2rem;
}

.rv-checkout__faq > h2 {
  color: #333;
  font-size: 1.3333rem;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 .75rem;
  text-align: center;
}

.rv-checkout__faq details,
.rv-checkout__faq details:last-child {
  border: 0;
}

.rv-checkout__faq summary,
.rv-checkout__faq details[open] summary {
  background: transparent;
  color: #0b60a2;
  font-size: .8889rem;
  font-weight: 400;
  line-height: 1.5;
  min-height: 0;
  padding: .45em 1.5em;
  text-align: center;
}

.rv-checkout__faq summary::after,
.rv-checkout__faq details[open] summary::after {
  display: none;
}

.rv-checkout__faq-answer {
  padding: .15rem 1rem .75rem;
}

.rv-checkout__faq details p {
  color: #333;
  font-size: .7778rem;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 820px) {
  .rv-checkout__hero,
  .rv-checkout__hero.rv-checkout__hero--timed {
    padding: 1.125rem .75rem;
  }

  .rv-checkout__hero h1 {
    font-size: 1.125rem;
    line-height: 1.4;
  }

  .rv-checkout__hero-subtitle {
    font-size: .75rem;
    line-height: 1.45;
  }

  .rv-checkout__product-name {
    font-size: 1.5rem !important;
  }

  .rv-checkout--nobs_18 .rv-checkout__hero h1,
  .rv-checkout--aopm_497 .rv-checkout__hero h1 {
    font-size: 1.125rem;
    line-height: 1.4;
  }

  .rv-checkout--aopm_497 .rv-checkout__hero,
  .rv-checkout--aopm_497 .rv-checkout__hero.rv-checkout__hero--timed {
    padding: 1.125rem .75rem;
  }

  .rv-checkout__legacy-masthead-inner {
    flex-direction: column;
    gap: .5rem;
    justify-content: center;
    min-height: 7.25rem;
    padding: .75rem;
  }

  .rv-checkout__legacy-masthead img {
    max-height: 3.75rem;
    max-width: min(14rem, 72vw);
  }

  .rv-checkout__legacy-masthead p {
    font-size: .6875rem;
    text-align: center;
  }

  .rv-checkout__bump {
    margin-bottom: 1.25rem;
    padding: 1rem;
  }

  .rv-checkout__faq {
    margin-top: 2rem;
    padding: 0 .75rem 1.5rem;
  }

  .rv-checkout__faq > h2 {
    font-size: 1.25rem;
  }

  .rv-checkout__faq summary {
    font-size: 1rem;
    padding: .55em .25em;
  }

  .rv-checkout__faq-answer {
    padding: .15rem .25rem .8rem;
  }

  .rv-checkout__faq details p {
    font-size: .875rem;
  }

}

@media (max-width: 650px) {
  .rv-checkout {
    width: 100%;
  }

  .rv-checkout__hero {
    border-radius: 18px;
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    min-height: 280px;
    padding: 34px 20px;
    text-align: center;
  }

  .rv-checkout__hero h1 {
    font-size: clamp(1.9rem, 8vw, 2.25rem);
    line-height: 1.08;
    margin: 0 0 12px;
  }

  .rv-checkout__hero-subtitle {
    font-size: clamp(.95rem, 4.3vw, 1.0625rem);
    line-height: 1.55;
  }

  .rv-checkout__offer-timer {
    flex-basis: auto;
    margin: 2px auto 0;
    max-width: 240px;
  }

  .rv-checkout__offer-timer-label {
    font-size: 13.5px;
    line-height: 1.4;
    margin-bottom: 11px;
  }

  .rv-checkout__offer-timer-circle {
    max-width: 178px;
    padding: 27px;
    width: 178px;
  }

  .rv-checkout__offer-timer-ring {
    inset: 11px;
  }

  .rv-checkout__offer-timer-circle::before {
    inset: 23px;
  }

  .rv-checkout__offer-timer-circle small {
    font-size: 9.5px;
    line-height: 1.35;
  }

  .rv-checkout__offer-timer-circle strong {
    font-size: 34px;
    font-weight: 750;
    margin: 10px 0 7px;
  }

  .rv-checkout__offer-timer-circle em {
    font-size: 9.5px;
  }

  .rv-checkout__layout {
    gap: 16px;
    margin-top: 16px;
  }

  .rv-checkout__plan-grid,
  .rv-checkout__fields--two,
  .rv-checkout__fields--city {
    grid-template-columns: 1fr;
  }

  .rv-checkout__plan {
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 86px;
    padding: 15px 13px;
  }

  .rv-checkout__plan-price {
    grid-column: auto;
    text-align: right;
  }

  .rv-checkout__plan-copy strong {
    font-size: 15px;
  }

  .rv-checkout__plan-price b {
    font-size: 22px;
  }

  .rv-checkout__panel,
  .rv-checkout__summary,
  .rv-checkout__included {
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(15, 46, 78, .06);
    padding: 1.25rem 1rem;
  }

  .rv-checkout__form,
  .rv-checkout__order-form {
    gap: 14px;
  }

  .rv-checkout__section-heading {
    gap: 11px;
    margin-bottom: 20px;
  }

  .rv-checkout__section-heading h2,
  .rv-checkout__plan-panel legend {
    font-size: 19px;
  }

  .rv-checkout__bump {
    border-radius: 15px;
    gap: 11px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 19px 16px;
  }

  .rv-checkout__bump strong {
    font-size: 17px;
  }

  .rv-checkout__bump small {
    font-size: 15px;
  }

  .rv-checkout__terms {
    font-size: 15px;
  }

  .rv-checkout__hosted-frame {
    min-height: 720px;
  }

  .rv-checkout__secure-row {
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
  }

  .rv-checkout__faq {
    border-radius: 18px;
    margin-top: 42px;
    padding: 26px 12px 12px;
  }

  .rv-checkout__faq > h2 {
    font-size: clamp(1.5rem, 6.8vw, 1.75rem);
    margin-bottom: 24px;
    padding: 0 8px;
  }

  .rv-checkout__faq-list {
    border-radius: 14px;
  }

  .rv-checkout__faq summary {
    font-size: 15px;
    gap: 12px;
    min-height: 64px;
    padding: 15px 14px;
  }

  .rv-checkout__faq summary::after {
    height: 29px;
    width: 29px;
  }

  .rv-checkout__faq-answer {
    margin: 0 14px;
    padding-bottom: 17px;
  }

  .rv-checkout__faq details p {
    font-size: 13px;
    line-height: 1.6;
    margin-top: 14px;
  }

  .rv-checkout__included > p {
    font-size: .6875rem;
    letter-spacing: .06em;
    line-height: 1.4;
  }

  .rv-checkout__included h2 {
    font-size: clamp(1.25rem, 5.4vw, 1.5rem);
    line-height: 1.28;
  }
}

@media (max-width: 520px) {
  .rv-checkout__plan {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rv-checkout__plan-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    grid-column: 2;
    text-align: left;
  }
}

@media (max-width: 360px) {
  .rv-checkout__plan {
    padding: .875rem .75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rv-checkout__plan {
    transition: none;
  }
}

/* Legacy Keap / GoSpiffy presentation. Checkout behavior remains owned by the
   existing hosted-payment module; these rules change only the visual shell. */
.rv-checkout {
  --rv-ink: #353535;
  --rv-navy: #353535;
  --rv-blue: #176ba3;
  --rv-green: #21b566;
  --rv-coral: #ec6c24;
  --rv-paper: #fff;
  --rv-canvas: #f3f3f3;
  --rv-line: #d8d8d8;
  --rv-muted: #696969;
  color: var(--rv-ink);
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  max-width: 1020px;
}

.rv-checkout--timed {
  max-width: 1220px;
}

.rv-checkout--timed .rv-checkout__hero,
.rv-checkout--timed .rv-checkout__layout,
.rv-checkout--timed .rv-checkout__faq {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
}

.rv-checkout__offer-timer {
  --rv-timer-progress: 100%;
  align-items: center;
  background: var(--rv-green);
  color: #fff;
  display: flex;
  flex: none;
  gap: .45rem;
  justify-content: center;
  max-width: none;
  min-height: 2.5rem;
  overflow: hidden;
  padding: .55rem 1rem .7rem;
  position: relative;
  text-align: center;
  transition: background-color .25s ease;
  width: 100%;
}

.rv-checkout__offer-timer.is-low,
.rv-checkout__offer-timer.is-expired {
  background: #c8382d;
}

.rv-checkout__offer-timer-label {
  color: #fff;
  font-size: clamp(.875rem, 1.7vw, 1rem);
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.25;
  margin: 0;
  padding: 0;
  text-shadow: none;
}

.rv-checkout__offer-timer-clock {
  color: #fff;
  flex: 0 0 auto;
  font-size: clamp(.9rem, 1.8vw, 1.05rem);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.rv-checkout__offer-timer-track {
  background: rgba(0, 0, 0, .18);
  bottom: 0;
  height: .24rem;
  left: 0;
  position: absolute;
  right: 0;
}

.rv-checkout__offer-timer-track > span {
  background: rgba(255, 255, 255, .9);
  display: block;
  height: 100%;
  transition: width .25s linear;
  width: var(--rv-timer-progress);
}

.rv-checkout__hero,
.rv-checkout__hero.rv-checkout__hero--timed {
  background: #fff;
  border: 0;
  border-radius: 0;
  color: var(--rv-ink);
  display: block;
  min-height: 0;
  overflow: visible;
  padding: clamp(1.5rem, 3vw, 2rem) 1rem 1.35rem;
  text-align: center;
}

.rv-checkout__hero::after {
  content: none;
}

.rv-checkout__hero h1 {
  color: #333;
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.18;
  margin: 0 auto .55rem;
  max-width: 900px;
}

.rv-checkout__hero-subtitle {
  color: #3f3f3f;
  font-size: clamp(1rem, 1.8vw, 1.12rem);
  font-weight: 650;
  line-height: 1.42;
  margin: 0 auto;
  max-width: 900px;
}

.rv-checkout__layout {
  align-items: start;
  gap: clamp(2rem, 4vw, 3.25rem);
  grid-template-columns: minmax(0, 1.16fr) minmax(19rem, .84fr);
  margin-top: 0;
}

.rv-checkout__form,
.rv-checkout__order-form {
  gap: 1.25rem;
}

.rv-checkout__panel,
.rv-checkout__summary,
.rv-checkout__included {
  background: #f3f3f3;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: clamp(1.35rem, 3.2vw, 2rem);
}

.rv-checkout__plan-panel legend,
.rv-checkout__section-heading h2 {
  color: #3e3e3e;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 500;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.rv-checkout__plan-panel--single {
  display: none;
}

.rv-checkout__section-heading p {
  color: #666;
  font-size: .82rem;
}

.rv-checkout__plan-grid {
  gap: .75rem;
  grid-template-columns: 1fr;
}

.rv-checkout__plan {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0;
  gap: .75rem;
  min-height: 4rem;
  padding: .75rem .55rem;
  transform: none;
}

.rv-checkout__plan:hover,
.rv-checkout__plan.is-selected {
  background: rgba(255, 255, 255, .55);
  border-color: #a66e6e;
  box-shadow: none;
  transform: none;
}

.rv-checkout__plan-copy strong {
  color: #4a4a4a;
  font-size: 1rem;
  font-style: italic;
}

.rv-checkout__plan-price b {
  color: #333;
  font-size: 1.15rem;
}

.rv-checkout__plan-badge {
  background: transparent;
  color: #4d4d4d;
  font-size: .76rem;
  padding: 0;
  text-transform: none;
}

.rv-checkout__plan-badge--save {
  color: #15804f;
}

.rv-checkout__fields input,
.rv-checkout__fields select {
  border: 1px solid #d1d1d1;
  border-radius: 0;
  min-height: 3.35rem;
  padding: .85rem 1rem;
}

.rv-checkout__fields label {
  color: #555;
  font-size: 0;
  gap: 0;
}

.rv-checkout__fields label > span {
  font-size: 0;
}

.rv-checkout__fields--two,
.rv-checkout__fields--city {
  grid-template-columns: 1fr;
}

.rv-checkout__bump {
  background: #fff8ed;
  border: 2px solid #ed7a2b;
  border-radius: .2rem;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .04);
  padding: 1.15rem;
}

.rv-checkout__bump input {
  accent-color: #ed7a2b;
}

.rv-checkout__bump strong {
  color: #5b3822;
}

.rv-checkout__payment,
.rv-checkout__authorization {
  background: #f3f3f3;
}

.rv-checkout__secure-row {
  background: #fff;
  border-color: #d1d1d1;
  border-radius: 0;
}

.rv-checkout__hosted-shell {
  background: #fff;
  border-color: #d1d1d1;
  border-radius: 0;
}

.rv-checkout__submit {
  background: #e76d2d;
  border-radius: .15rem;
  box-shadow: none;
}

.rv-checkout__aside {
  gap: 1.35rem;
  position: static;
}

.rv-checkout__product-presentation {
  background: #fff;
  margin: 0;
  padding: 0 .5rem;
  text-align: center;
}

.rv-checkout__product-logo {
  display: block;
  height: auto;
  margin: 0 auto 1rem;
  max-height: 8.5rem;
  max-width: min(15rem, 78%);
  object-fit: contain;
}

.rv-checkout__product-image {
  display: block;
  height: auto;
  margin: 0 auto 1.15rem;
  max-height: 22rem;
  max-width: 100%;
  object-fit: contain;
}

.rv-checkout__product-image--photo {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

.rv-checkout__product-presentation h2 {
  color: #333;
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  line-height: 1.25;
  margin: 0 0 .45rem;
}

.rv-checkout__product-presentation p {
  color: #666;
  font-size: .82rem;
  margin: 0;
}

.rv-checkout__summary {
  background: #f3f3f3;
}

.rv-checkout__summary-label {
  color: #555;
  font-size: .83rem;
  letter-spacing: .06em;
}

.rv-checkout__product-mark {
  background: #176ba3;
  border-radius: .2rem;
}

.rv-checkout__included {
  background: #fff;
  color: #3d3d3d;
  padding: 1.25rem .5rem;
}

.rv-checkout__included > p,
.rv-checkout__included h2 {
  color: #333;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
}

.rv-checkout__included > p {
  font-size: 1.05rem;
}

.rv-checkout__included h2 {
  font-size: clamp(1.3rem, 2.8vw, 1.55rem);
  text-decoration: underline;
}

.rv-checkout__included ul {
  gap: 1rem;
}

.rv-checkout__included li {
  color: #444;
  font-size: .96rem;
  line-height: 1.55;
  padding-left: 1.75rem;
}

.rv-checkout__included li::before {
  color: #19bd40;
  font-size: 1.4rem;
}

.rv-checkout__included li span {
  color: #333;
}

.rv-checkout__help {
  color: #555;
}

.rv-checkout__faq {
  background: #fff;
  border: 0;
  border-radius: 0;
  margin-top: clamp(3rem, 7vw, 5rem);
  max-width: 100%;
  padding: 0;
}

.rv-checkout__faq > h2 {
  color: #353535;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
  font-weight: 500;
  letter-spacing: .02em;
}

.rv-checkout__faq-list {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.rv-checkout__faq details {
  border-bottom: 1px solid #d9d9d9;
}

.rv-checkout__faq summary {
  color: #444;
  font-weight: 650;
  min-height: 3.6rem;
}

.rv-checkout__faq summary::after {
  background: transparent;
  color: #555;
}

.rv-checkout__faq details[open] summary,
.rv-checkout__faq details[open] summary::after {
  background: transparent;
  color: #333;
}

@media (max-width: 760px) {
  .rv-checkout__offer-timer {
    align-items: center;
    flex-wrap: wrap;
    gap: .2rem .45rem;
    padding-left: .7rem;
    padding-right: .7rem;
  }

  .rv-checkout__offer-timer-label {
    flex: 1 1 auto;
    min-width: 0;
  }

  .rv-checkout__hero,
  .rv-checkout__hero.rv-checkout__hero--timed {
    min-height: 0;
    padding: 1.35rem .65rem 1.1rem;
  }

  .rv-checkout__hero h1 {
    font-size: clamp(1.45rem, 7vw, 1.9rem);
  }

  .rv-checkout__hero-subtitle {
    font-size: clamp(.95rem, 4.3vw, 1.08rem);
  }

  .rv-checkout__layout {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .rv-checkout__aside {
    display: contents;
    order: initial;
    width: 100%;
  }

  .rv-checkout__form {
    order: 3;
    width: 100%;
  }

  .rv-checkout__product-presentation {
    order: 1;
  }

  .rv-checkout__summary {
    order: 2;
  }

  .rv-checkout__included {
    order: 4;
  }

  .rv-checkout__help {
    order: 5;
  }

  .rv-checkout__product-logo {
    max-height: 5.5rem;
    max-width: min(9rem, 52%);
  }

  .rv-checkout__product-image {
    max-height: 14rem;
    max-width: min(20rem, 92%);
  }

  .rv-checkout__panel,
  .rv-checkout__summary,
  .rv-checkout__included {
    padding: 1.2rem 1rem;
  }

  .rv-checkout__included {
    padding-left: .3rem;
    padding-right: .3rem;
  }

  .rv-checkout__plan {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rv-checkout__plan-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    grid-column: 2;
    text-align: left;
  }

  .rv-checkout__fields--two,
  .rv-checkout__fields--city {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .rv-checkout__offer-timer {
    display: block;
  }

  .rv-checkout__offer-timer-clock {
    margin-top: .25rem;
  }

  .rv-checkout__panel,
  .rv-checkout__summary {
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .rv-checkout__plan {
    padding-left: .3rem;
    padding-right: .3rem;
  }
}

/* Source-faithful Keap / GoSpiffy shell. This final layer intentionally keeps
   the hosted checkout behavior while restoring the original page proportions,
   section order, offer treatment, and proof artwork at every breakpoint. */
.rv-checkout {
  max-width: 63.75rem;
  overflow: visible;
  padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.rv-checkout--timed {
  max-width: 67.7778rem;
}

.rv-checkout--timed .rv-checkout__hero,
.rv-checkout--timed .rv-checkout__layout,
.rv-checkout--timed .rv-checkout__faq {
  max-width: 63.75rem;
}

.rv-checkout__hero,
.rv-checkout__hero.rv-checkout__hero--timed {
  padding: clamp(1.55rem, 3vw, 2.15rem) clamp(.75rem, 2.5vw, 1.5rem) clamp(1.3rem, 2.5vw, 1.8rem);
}

.rv-checkout__hero h1 {
  font-size: clamp(1.55rem, 2.6vw, 1.95rem);
  line-height: 1.18;
  max-width: 56rem;
}

.rv-checkout__hero-subtitle {
  font-size: clamp(.95rem, 1.55vw, 1.08rem);
  font-weight: 600;
  line-height: 1.45;
  max-width: 54rem;
}

.rv-checkout__layout {
  gap: clamp(2rem, 4.5vw, 3.25rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(18.5rem, .92fr);
}

.rv-checkout__form {
  display: grid;
  gap: 1.15rem;
  min-width: 0;
}

.rv-checkout__order-form {
  display: contents;
}

.rv-checkout__plan-panel {
  order: 1;
}

.rv-checkout__contact {
  order: 2;
}

.rv-checkout__payment {
  order: 6;
}

.rv-checkout__summary {
  order: 5;
}

.rv-checkout__bump {
  order: 3;
}

.rv-checkout__authorization {
  order: 4;
}

.rv-checkout__terms a {
  font: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
}

.rv-checkout__plan-panel--single {
  display: block;
}

.rv-checkout__panel,
.rv-checkout__summary {
  min-width: 0;
  padding: clamp(1.2rem, 2.5vw, 1.7rem);
}

.rv-checkout__plan-grid,
.rv-checkout__plan-grid--single {
  gap: .65rem;
  grid-template-columns: minmax(0, 1fr);
}

.rv-checkout__plan {
  align-items: center;
  background: #fff;
  border: 1px solid #cfcfcf;
  column-gap: .75rem;
  grid-template-columns: auto minmax(0, 1fr) minmax(5.4rem, auto);
  margin: 0;
  min-height: 4.2rem;
  padding: .75rem;
}

.rv-checkout__plan:hover,
.rv-checkout__plan.is-selected {
  background: #fff;
  border-color: #9d6565;
  box-shadow: inset .22rem 0 0 #9d6565;
}

.rv-checkout__plan-copy {
  min-width: 0;
  overflow-wrap: anywhere;
}

.rv-checkout__plan-copy strong {
  font-size: clamp(.92rem, 1.6vw, 1rem);
  line-height: 1.3;
}

.rv-checkout__plan-badge {
  display: block;
  line-height: 1.25;
  margin-top: .2rem;
  white-space: normal;
}

.rv-checkout__plan-price {
  min-width: 0;
  text-align: right;
}

.rv-checkout__plan-price b {
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  white-space: nowrap;
}

.rv-checkout__plan-price small {
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.rv-checkout__bump {
  align-items: start;
  background: #fffbdc;
  border: 1px solid #f1cb31;
  border-radius: 0;
  box-shadow: none;
  column-gap: .8rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.rv-checkout__bump input {
  accent-color: #1f9b46;
  height: 1.25rem;
  margin-top: .1rem;
  width: 1.25rem;
}

.rv-checkout__bump > span:last-child {
  gap: .55rem;
  min-width: 0;
}

.rv-checkout__bump strong {
  color: #13913f;
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.rv-checkout__bump small {
  color: #383838;
  display: block;
  font-size: clamp(.9rem, 1.5vw, .98rem);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.rv-checkout__summary {
  background: #f3f3f3;
}

.rv-checkout__summary-product,
.rv-checkout__totals > div {
  min-width: 0;
}

.rv-checkout__totals dt {
  overflow-wrap: anywhere;
}

.rv-checkout__aside {
  gap: 1.4rem;
  min-width: 0;
  position: static;
}

.rv-checkout__product-presentation {
  min-width: 0;
  padding: 0;
}

.rv-checkout__product-logo {
  max-height: 8rem;
  max-width: min(15rem, 82%);
}

.rv-checkout__product-image,
.rv-checkout__product-image--photo {
  aspect-ratio: auto;
  height: auto;
  margin: 0 auto 1.1rem;
  max-height: 20rem;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.rv-checkout__product-presentation h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.6rem);
  line-height: 1.25;
}

.rv-checkout__product-presentation h2 span {
  white-space: nowrap;
}

.rv-checkout__included {
  min-width: 0;
  padding: .9rem 0 0;
}

.rv-checkout__included > p {
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.4;
  overflow-wrap: break-word;
}

.rv-checkout__included h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.rv-checkout__included li {
  font-size: clamp(.91rem, 1.6vw, .98rem);
}

.rv-checkout__legacy-proof {
  display: grid;
  gap: 1rem;
  min-width: 0;
  width: 100%;
}

.rv-checkout__legacy-proof img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: min(100%, 26.125rem);
  object-fit: contain;
  width: auto;
}

.rv-checkout__legacy-proof--bottom {
  grid-column: auto;
  padding-top: 1.3889rem;
}

.rv-checkout__legacy-guarantee {
  border: .14rem solid #16854c;
  color: #2f2f2f;
  padding: 1rem;
  text-align: center;
}

.rv-checkout__legacy-guarantee strong {
  color: #16854c;
  display: block;
  font-size: 1.1rem;
  text-transform: uppercase;
}

.rv-checkout__legacy-guarantee p {
  line-height: 1.5;
  margin: .5rem 0 0;
}

.rv-checkout__faq {
  margin-top: clamp(2.5rem, 6vw, 4rem);
}

@media (max-width: 820px) {
  .rv-checkout__layout {
    display: grid;
    gap: 1.35rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .rv-checkout__aside {
    display: contents;
  }

  .rv-checkout__product-presentation {
    order: 1;
  }

  .rv-checkout__included {
    order: 2;
  }

  .rv-checkout__form {
    order: 3;
  }

  .rv-checkout__legacy-proof,
  .rv-checkout__legacy-guarantee {
    order: 4;
  }

  .rv-checkout__help {
    order: 5;
  }

  .rv-checkout__product-image,
  .rv-checkout__product-image--photo {
    max-height: 17rem;
    max-width: min(100%, 25rem);
  }

  .rv-checkout__included,
  .rv-checkout__legacy-proof,
  .rv-checkout__legacy-guarantee,
  .rv-checkout__help {
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .rv-checkout__hero,
  .rv-checkout__hero.rv-checkout__hero--timed {
    padding: 1.25rem .75rem 1.05rem;
  }

  .rv-checkout__hero h1 {
    font-size: clamp(1.35rem, 6.5vw, 1.7rem);
  }

  .rv-checkout__hero-subtitle {
    font-size: clamp(.9rem, 4vw, 1rem);
  }

  .rv-checkout__panel,
  .rv-checkout__summary {
    padding: 1rem;
  }

  .rv-checkout__product-image,
  .rv-checkout__product-image--photo {
    max-height: 14rem;
    max-width: min(100%, 21rem);
  }

  .rv-checkout__plan {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
    padding: .7rem .6rem;
  }

  .rv-checkout__plan-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .4rem;
    grid-column: 2;
    text-align: left;
  }

  .rv-checkout__bump {
    padding: .9rem;
  }

  .rv-checkout__bump small {
    font-size: .91rem;
    line-height: 1.5;
  }

  .rv-checkout__legacy-proof {
    gap: .8rem;
  }
}

@media (max-width: 340px) {
  .rv-checkout__plan {
    column-gap: .55rem;
  }

  .rv-checkout__panel,
  .rv-checkout__summary {
    padding-left: .75rem;
    padding-right: .75rem;
  }
}

/* Component-level source parity. The legacy form is a continuous gray order
   column and a white product column—not a stack of modern cards. */
.rv-checkout,
.rv-checkout--timed,
.rv-checkout--timed .rv-checkout__hero,
.rv-checkout--timed .rv-checkout__layout,
.rv-checkout--timed .rv-checkout__faq {
  max-width: 1025px;
}

.rv-checkout__layout {
  gap: 0;
  grid-template-columns: minmax(0, 55%) minmax(0, 45%);
}

.rv-checkout__form {
  background: #f2f2f2;
  font-size: 12px;
  gap: 0;
  padding: 25px 25px 0;
}

.rv-checkout__panel,
.rv-checkout__summary {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.rv-checkout__plan-panel,
.rv-checkout__contact,
.rv-checkout__payment,
.rv-checkout__summary,
.rv-checkout__bump,
.rv-checkout__authorization {
  margin: 0 0 20px;
}

.rv-checkout__plan-panel legend,
.rv-checkout__section-heading h2,
.rv-checkout__summary-label {
  color: #4d4d4d;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.25;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.rv-checkout__plan-grid,
.rv-checkout__plan-grid--single {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rv-checkout__plan[data-plan-card="annual"] {
  order: 1;
}

.rv-checkout__plan[data-plan-card="monthly"] {
  order: 2;
}

.rv-checkout__plan {
  align-items: start;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  color: #4d4d4d;
  column-gap: 10px;
  grid-template-columns: 13px minmax(0, 1fr) auto;
  min-height: 0;
  padding: 10px;
}

.rv-checkout__plan:hover {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.rv-checkout__plan.is-selected,
.rv-checkout__plan.is-selected:hover {
  background: transparent;
  border-color: #8d3a34;
  box-shadow: none;
}

.rv-checkout__plan input[type="radio"] {
  accent-color: #168ec5;
  appearance: auto;
  display: inline-block;
  height: 13px;
  margin: 3px 0 0;
  opacity: 1;
  position: static;
  width: 13px;
}

.rv-checkout__radio {
  display: none;
}

.rv-checkout__plan-copy {
  display: block;
  min-width: 0;
}

.rv-checkout__plan-copy strong,
.rv-checkout__plan-copy em {
  color: #4d4d4d;
  display: block;
  font-size: 14px;
  font-style: italic;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.rv-checkout__plan-copy strong {
  font-weight: 700;
}

.rv-checkout__plan-copy em {
  font-weight: 400;
  padding-left: 4px;
}

.rv-checkout__plan--source-label .rv-checkout__plan-price {
  display: none;
}

.rv-checkout__plan--source-label {
  width: 90%;
}

.rv-checkout__plan:not(.rv-checkout__plan--source-label) .rv-checkout__plan-price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.rv-checkout__contact {
  margin-top: 4px;
}

.rv-checkout__fields,
.rv-checkout__fields--two,
.rv-checkout__fields--city {
  display: block;
  margin: 0;
}

.rv-checkout__contact .rv-checkout__fields label {
  display: block;
  font-size: 0;
  line-height: 0;
  margin: -1px 0 0;
}

.rv-checkout__contact .rv-checkout__fields input,
.rv-checkout__contact .rv-checkout__fields select {
  background: #fff;
  border: 1px solid #ccc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #555;
  display: block;
  font-size: 15px;
  height: 53px;
  line-height: 1.3;
  margin: 0;
  min-height: 53px;
  padding: 0 20px;
  width: 100%;
}

.rv-checkout__field-hint {
  color: #666;
  font-size: 12px;
  line-height: 1.45;
  margin: 8px 0 0;
}

.rv-checkout__payment,
.rv-checkout__authorization {
  background: transparent;
}

.rv-checkout__section-heading p {
  color: #666;
  font-size: 12px;
  line-height: 1.45;
  margin: -4px 0 12px;
}

.rv-checkout__secure-row,
.rv-checkout__hosted-shell {
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
}

.rv-checkout__summary-label {
  display: block;
  text-transform: none;
  font-family: "Open Sans", sans-serif;
}

.rv-checkout__summary-product {
  align-items: start;
  display: grid;
  column-gap: .8333rem;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  grid-template-columns: 1.6667rem minmax(0, 1fr) auto;
  margin: 0;
  padding: .5556rem 0 .7778rem;
}

.rv-checkout__summary-thumbnail {
  display: block;
  height: auto;
  margin-top: .4444rem;
  max-width: 100%;
  object-fit: contain;
  width: 1.6667rem;
}

.rv-checkout__summary-product--no-image {
  grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 820px) {
  .rv-checkout__summary-product {
    grid-template-columns: 1.875rem minmax(0, 1fr) auto;
  }
  .rv-checkout__summary-thumbnail {
    width: 1.875rem;
  }
  .rv-checkout__summary-product--no-image {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.rv-checkout__summary-product > div {
  display: block;
  min-width: 0;
  padding-top: .1778rem;
}

.rv-checkout__summary-product strong {
  color: #606060;
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: .4444rem;
}

.rv-checkout__summary-product small,
.rv-checkout__summary-product span {
  color: #878787;
  display: block;
  font-size: 12px;
  line-height: 1.45;
}

.rv-checkout__summary-product small {
  margin-bottom: .7222rem;
}

.rv-checkout__summary-product span {
  color: #333;
}

.rv-checkout__summary-product > b {
  color: #333;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}

.rv-checkout__summary {
  /* Preserve the source inset at every width without squeezing phone content. */
  --rv-summary-inset: clamp(.75rem, 4vw, 1.6667rem);
  padding: 0 var(--rv-summary-inset);
}

.rv-checkout__totals {
  border: 0;
  margin: 0;
}

.rv-checkout__totals > div {
  border: 0;
  font-size: 12px;
  padding: 10px 0;
}

.rv-checkout__total,
.rv-checkout__total dd {
  color: #333;
  font-size: 12px !important;
}

.rv-checkout__total {
  align-items: center;
  font-weight: 400;
  justify-content: flex-end !important;
}

.rv-checkout__total dd {
  color: #7ac943;
  font-size: 30px !important;
  font-weight: 500;
}

.rv-checkout__aside {
  font-size: 18px;
  gap: 18px;
  padding: 25px;
}

.rv-checkout__product-presentation h2 {
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 6px;
}

.rv-checkout__digital-product {
  color: #555 !important;
  font-size: 12px !important;
  line-height: 1.4;
  margin: 0 !important;
}

.rv-checkout__digital-product::before {
  content: "▶";
  font-size: 9px;
  margin-right: 3px;
}

.rv-checkout__included {
  padding: 0;
}

.rv-checkout__included h2 {
  color: #333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin: 14px 0 22px;
  text-align: center;
  text-decoration: underline;
}

.rv-checkout__included ul {
  gap: 17px;
}

.rv-checkout__included li,
.rv-checkout__included-featured {
  color: #444;
  font-size: 16px;
  line-height: 1.55;
  padding-left: 28px;
}

.rv-checkout__included li::before {
  color: #13c83b;
  font-size: 22px;
}

.rv-checkout__experience {
  color: #333;
  margin-top: 0;
}

.rv-checkout__experience h3 {
  border-top: 1px solid #ddd;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 10% 12px;
  padding-top: 12px;
  text-align: center;
  white-space: nowrap;
}

.rv-checkout__experience img {
  margin-bottom: 14px;
}

.rv-checkout__experience p {
  font-size: 15px;
  line-height: 1.45;
  margin: 0;
  text-align: center;
}

@media (max-width: 820px) {
  .rv-checkout__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .rv-checkout__form {
    padding: 20px 15px 0;
  }

  .rv-checkout__aside {
    padding: 20px 15px;
  }

  .rv-checkout__plan-panel legend,
  .rv-checkout__section-heading h2,
  .rv-checkout__summary-label {
    font-size: 18px;
  }

  .rv-checkout__product-presentation h2 {
    font-size: clamp(1.3rem, 6vw, 1.55rem);
  }

  .rv-checkout__included h2 {
    font-size: clamp(1.22rem, 5.5vw, 1.45rem);
  }

  .rv-checkout__experience h3 {
    white-space: normal;
  }
}

/* Source typography scale. HubSpot's theme root is 18px on desktop and 16px
   on phones, so rem values preserve the original proportions while adapting
   with the visitor's root text size. Component spacing uses em where it should
   follow the text rather than remaining a fixed desktop measurement. */
.rv-checkout__hero h1 {
  font-size: 1.7778rem;
  line-height: 1.22;
  margin-bottom: .35em;
}

.rv-checkout__hero-subtitle {
  font-size: .8889rem;
  line-height: 1.6;
}

.rv-checkout__plan-panel legend {
  font-size: 1.1111rem;
  font-weight: 600;
  line-height: 1.7;
  margin: .1778rem 0 .4444rem;
  padding: 0;
}

.rv-checkout__section-heading h2,
.rv-checkout__summary-label {
  font-size: 1.1111rem;
  font-weight: 600;
  line-height: 1.4286;
  margin: 0;
  padding: .5556rem 0;
}

.rv-checkout__plan {
  padding: .5556rem;
}

.rv-checkout__plan-copy strong,
.rv-checkout__plan-copy em {
  font-size: .7778rem;
  line-height: 1.5;
}

.rv-checkout__contact .rv-checkout__fields input,
.rv-checkout__contact .rv-checkout__fields select {
  font-size: .8333rem;
  height: 2.9444rem;
  min-height: 2.9444rem;
  padding-inline: 1.1111rem;
}

.rv-checkout__product-presentation h2 {
  font-size: 1.2222rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .25em;
}

.rv-checkout__digital-product {
  font-size: .6111rem !important;
  line-height: 1.6;
}

.rv-checkout__included h2 {
  font-size: 1.1111rem;
  line-height: 1.6;
  margin: .7em 0 1.1em;
}

.rv-checkout__included ul {
  gap: .9444rem;
  margin-inline: auto;
  width: 90%;
}

.rv-checkout__included li,
.rv-checkout__included-featured {
  font-size: .8889rem;
  line-height: 1.6;
  padding-left: 1.5556rem;
}

.rv-checkout__summary-product strong {
  font-size: .8889rem;
  line-height: 1.25;
}

.rv-checkout__summary-product small {
  font-size: .7778rem;
  line-height: 1.6;
}

.rv-checkout__summary-product span,
.rv-checkout__summary-product > b,
.rv-checkout__totals > div {
  font-size: .6667rem;
  line-height: 1.4286;
}

.rv-checkout__bump strong {
  font-size: .8889rem;
  line-height: 1.4;
}

.rv-checkout__bump small {
  font-size: .8333rem;
  line-height: 1.45;
}

.rv-checkout__experience h3 {
  font-size: 1.1111rem;
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: .4em;
  overflow-wrap: anywhere;
  padding-top: .6em;
  white-space: normal;
}

.rv-checkout__experience p {
  font-size: .8333rem;
  line-height: 1.4286;
}

@media (max-width: 820px) {
  .rv-checkout__hero,
  .rv-checkout__hero.rv-checkout__hero--timed {
    padding: 1.25rem .75rem 1rem;
  }

  .rv-checkout__hero h1 {
    font-size: 1.125rem;
    line-height: 1.3;
  }

  .rv-checkout__hero-subtitle {
    font-size: .75rem;
    line-height: 1.55;
  }

  .rv-checkout__plan-panel legend,
  .rv-checkout__section-heading h2,
  .rv-checkout__summary-label {
    font-size: 1.25rem;
  }

  .rv-checkout__plan-copy strong,
  .rv-checkout__plan-copy em {
    font-size: .875rem;
  }

  .rv-checkout__contact .rv-checkout__fields input,
  .rv-checkout__contact .rv-checkout__fields select {
    font-size: .9375rem;
    height: 3.3125rem;
    min-height: 3.3125rem;
    padding-inline: 1.25rem;
  }

  .rv-checkout__form {
    padding: 1.25rem .9375rem 0;
  }

  .rv-checkout__aside {
    padding: 1.25rem .9375rem;
  }

  .rv-checkout__product-presentation h2 {
    font-size: 1.375rem;
  }

  .rv-checkout__digital-product {
    font-size: .6875rem !important;
  }

  .rv-checkout__included h2,
  .rv-checkout__experience h3 {
    font-size: 1.125rem;
  }

  .rv-checkout__included ul {
    width: 100%;
  }

  .rv-checkout__included li,
  .rv-checkout__included-featured {
    font-size: 1rem;
  }

  .rv-checkout__summary-product strong,
  .rv-checkout__bump strong {
    font-size: 1rem;
  }

  .rv-checkout__summary-product small {
    font-size: .875rem;
  }

  .rv-checkout__summary-product span,
  .rv-checkout__summary-product > b,
  .rv-checkout__totals > div {
    font-size: .75rem;
  }

  .rv-checkout__bump small,
  .rv-checkout__experience p {
    font-size: .9375rem;
  }
}

/* Final source-parity cascade. Keep this last: the active module intentionally
   retains older design layers as reference while these values reproduce the
   live legacy forms with responsive units. */
.rv-checkout,
.rv-checkout--timed .rv-checkout__legacy-masthead,
.rv-checkout--timed .rv-checkout__hero,
.rv-checkout--timed .rv-checkout__layout,
.rv-checkout--timed .rv-checkout__faq {
  max-width: 56.9444rem;
}

.rv-checkout--timed {
  max-width: 67.7778rem;
}

/* Match the legacy desktop composition: the transactional form occupies the
   wider left column and the offer content sits in the narrower right column.
   The mobile cascade below still restores the linear reading order. */
@media (min-width: 821px) {
  .rv-checkout__aside {
    grid-column: 2;
    grid-row: 1;
  }

  .rv-checkout__form {
    grid-column: 1;
    grid-row: 1;
  }
}

.rv-checkout__hero,
.rv-checkout__hero.rv-checkout__hero--timed {
  padding: 1.0556rem 1.5rem;
}

.rv-checkout__hero h1 {
  font-size: 1.7778rem;
  line-height: 1.4286;
  margin: 0;
}

.rv-checkout__hero-subtitle {
  color: #333;
  font-size: .8889rem;
  font-weight: 700;
  line-height: 1.4286;
  margin: 0;
}

.rv-checkout--single-plan .rv-checkout__plan-panel,
.rv-checkout--single-plan .rv-checkout__plan-panel--single {
  display: none;
}

.rv-checkout__plan-panel legend,
.rv-checkout__section-heading h2,
.rv-checkout__summary-label {
  color: #515151;
}

.rv-checkout__contact .rv-checkout__fields input,
.rv-checkout__contact .rv-checkout__fields select {
  border-color: #d0d0d0 !important;
  color: #000;
}

.rv-checkout__total dd {
  color: #8dc527;
}

.rv-checkout__product-presentation h2 {
  color: #555;
}

.rv-checkout__product-presentation h2 span {
  color: #333;
}

.rv-checkout__product-name {
  color: #333 !important;
  font-size: 1.83rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 0 0 .5em !important;
}

.rv-checkout--nobs_18 .rv-checkout__digital-product::before {
  content: none;
}

:where(.rv-checkout--nobs_18) .rv-checkout__hero,
:where(.rv-checkout--nobs_18) .rv-checkout__hero.rv-checkout__hero--timed {
  padding-top: .6667rem;
}

:where(.rv-checkout--nobs_18) .rv-checkout__hero h1 {
  font-size: 1.525rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.4;
}

:where(.rv-checkout--aopm_497) .rv-checkout__hero,
:where(.rv-checkout--aopm_497) .rv-checkout__hero.rv-checkout__hero--timed {
  padding-bottom: .1944rem;
  padding-top: .1944rem;
}

:where(.rv-checkout--aopm_497) .rv-checkout__hero h1 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.6;
}

.rv-checkout__included h2,
.rv-checkout__included li span {
  color: #292929;
}

.rv-checkout__included li {
  color: #333;
}

.rv-checkout__included li::before {
  color: #13c519;
  font-size: 1.3889rem;
  line-height: 1;
  top: .12em;
}

.rv-checkout__bump {
  background: #fffcf4;
  border-color: #fce468;
  margin-bottom: 1.3889rem;
  padding: 1.3889rem;
}

.rv-checkout__bump input {
  accent-color: #ed7a2b;
}

.rv-checkout__bump strong {
  color: #228b22;
}

.rv-checkout__faq {
  background: #fff;
  border: 0;
  border-radius: 0;
  margin-top: 2.5rem;
  max-width: 56.9444rem;
  padding: 0 1rem 2rem;
}

.rv-checkout__faq-list {
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.rv-checkout__faq > h2 {
  color: #333;
  font-size: 1.3333rem;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 .75rem;
  text-align: center;
}

.rv-checkout__faq details,
.rv-checkout__faq details:last-child {
  border: 0;
}

.rv-checkout__faq summary,
.rv-checkout__faq details[open] summary {
  background: transparent;
  color: #0b60a2;
  font-size: .8889rem;
  font-weight: 400;
  line-height: 1.5;
  min-height: 0;
  padding: .45em 1.5em;
  text-align: center;
}

.rv-checkout__faq summary::after,
.rv-checkout__faq details[open] summary::after {
  display: none;
}

.rv-checkout__faq-answer {
  padding: .15rem 1rem .75rem;
}

.rv-checkout__faq details p {
  color: #333;
  font-size: .7778rem;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 820px) {
  .rv-checkout__hero,
  .rv-checkout__hero.rv-checkout__hero--timed {
    padding: 1.125rem .75rem;
  }

  .rv-checkout__hero h1 {
    font-size: 1.125rem;
    line-height: 1.4;
  }

  .rv-checkout__hero-subtitle {
    font-size: .75rem;
    line-height: 1.45;
  }

  .rv-checkout__product-name {
    font-size: 1.5rem !important;
  }

  .rv-checkout__bump {
    margin-bottom: 1.25rem;
    padding: 1rem;
  }

  .rv-checkout__faq {
    margin-top: 2rem;
    padding: 0 .75rem 1.5rem;
  }

  .rv-checkout__faq > h2 {
    font-size: 1.25rem;
  }

  .rv-checkout__faq summary {
    font-size: 1rem;
    padding: .55em .25em;
  }

  .rv-checkout__faq-answer {
    padding: .15rem .25rem .8rem;
  }

  .rv-checkout__faq details p {
    font-size: .875rem;
  }

  /* Preserve the legacy mobile reading order: offer contents and proof first,
     then the transactional form. Keep this after the legacy parity layers. */
  .rv-checkout__legacy-proof,
  .rv-checkout__legacy-proof--bottom,
  .rv-checkout__legacy-guarantee {
    order: 3;
  }

  .rv-checkout__form {
    order: 4;
  }

  .rv-checkout__help {
    order: 5;
  }
}

/* Measured source-parity details. These values come from the live Keap /
   GoSpiffy order form rather than the earlier approximate legacy treatment. */
.rv-checkout__offer-timer {
  background: #26b562;
  column-gap: .2778rem;
  flex-wrap: wrap;
  min-height: 2.5333rem;
  padding: .5556rem;
}

.rv-checkout__offer-timer.is-expired {
  background: #ff4747;
}

.rv-checkout__offer-timer-label,
.rv-checkout__offer-timer-clock {
  color: #fff;
  font-size: .8889rem;
  font-weight: 600;
  letter-spacing: .0556rem;
  line-height: 1.6;
}

.rv-checkout__offer-timer-label {
  flex: 0 1 auto;
}

.rv-checkout__offer-timer-clock {
  flex: 0 0 auto;
}

.rv-checkout__plan-panel legend,
.rv-checkout__section-heading h2,
.rv-checkout__summary-label {
  color: #333;
}

.rv-checkout__included li span {
  font-weight: 700;
}

.rv-checkout__faq > h2 {
  color: #101d51;
  font-weight: 600;
  max-width: none;
  width: 100%;
}

.rv-checkout__faq summary,
.rv-checkout__faq details[open] summary {
  font-weight: 600;
}

.rv-checkout--nobs_18 .rv-checkout__hero h1 {
  color: #595959;
  line-height: 1.25;
}

.rv-checkout--nobs_18 .rv-checkout__product-name {
  color: #222 !important;
  font-weight: 600 !important;
  margin-bottom: .4444rem !important;
}

.rv-checkout--nobs_18 .rv-checkout__product-presentation > h2:not(.rv-checkout__product-name) {
  color: #595959;
  font-size: clamp(1.5rem, 3vw, 1.83rem);
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: .4444rem;
}

.rv-checkout--nobs_18 .rv-checkout__digital-product {
  color: #595959 !important;
  font-size: .7778rem !important;
  font-weight: 600;
  line-height: 1.25;
  margin: .1778rem 0 .4444rem !important;
}

.rv-checkout--nobs_18 .rv-checkout__product-image,
.rv-checkout--nobs_18 .rv-checkout__legacy-proof:not(.rv-checkout__legacy-proof--bottom) img {
  max-width: min(100%, 20.5rem);
}

.rv-checkout--nobs_18 .rv-checkout__legacy-proof--bottom img {
  max-width: min(100%, 25.4306rem);
}

@media (min-width: 821px) {
  .rv-checkout__legacy-masthead img {
    max-height: 3.6111rem;
    max-width: 11.8333rem;
  }

  .rv-checkout__legacy-masthead p {
    color: #3b3b3b;
    font-size: .7778rem;
    font-weight: 700;
    line-height: 1.6;
  }

  .rv-checkout__faq > h2 {
    line-height: 1.25;
    margin-bottom: .4444rem;
  }

  .rv-checkout__faq summary,
  .rv-checkout__faq details[open] summary {
    line-height: 1.25;
    margin-bottom: .4444rem;
    padding: 0;
  }
}

@media (max-width: 520px) {
  .rv-checkout__offer-timer {
    display: block;
  }

  .rv-checkout__offer-timer-label,
  .rv-checkout__offer-timer-clock {
    font-size: .875rem;
  }

  .rv-checkout__legacy-masthead img {
    max-width: min(11.8333rem, 72vw);
  }

  .rv-checkout__legacy-masthead p {
    font-size: .8125rem;
  }

  .rv-checkout__payment .rv-checkout__hosted-shell {
    margin-left: -.9375rem;
    margin-right: -.9375rem;
    max-width: calc(100% + 1.875rem);
    width: calc(100% + 1.875rem);
  }
}

/* Keep the third-party secure form inside the checkout at every width while
   allowing the narrowest phones to use all available form-column space. */
.rv-checkout__hosted-shell,
.rv-checkout__hosted-frame {
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

/* Final source-parity typography. The theme root is 18px on desktop and 16px below
   48rem; profile-specific source measurements below account for both. */
.rv-checkout__plan-panel legend {
  font-size: 1.25rem;
  line-height: 1.7;
}

.rv-checkout__plan--source-label {
  max-width: 100%;
}

.rv-checkout__plan-copy strong,
.rv-checkout__plan-copy em {
  font-family: Helvetica, Arial, sans-serif;
  font-size: .7778rem;
  line-height: 1.5;
}

.rv-checkout__plan-copy strong {
  font-style: normal;
}

.rv-checkout__plan-copy em,
.rv-checkout__plan.is-selected .rv-checkout__plan-copy strong {
  font-style: italic;
}

/* Match the legacy Spiffy selector typography. Its option copy is bold brown
   Helvetica with no added tracking; the selected option italicizes both lines. */
.rv-checkout__plan--source-label .rv-checkout__plan-copy strong,
.rv-checkout__plan--source-label .rv-checkout__plan-copy em {
  color: #61534b;
  font-weight: 700;
  letter-spacing: normal;
}

/* The two legacy Premium endpoints each place the selected plan second. Keep
   that visual order as the consolidated page switches between plans. */
.rv-checkout--rvp_standard .rv-checkout__plan--source-label {
  order: 1;
}

.rv-checkout--rvp_standard .rv-checkout__plan--source-label.is-selected {
  order: 2;
}

.rv-checkout__faq {
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: 100%;
  width: 100%;
}

.rv-checkout__faq > h2 {
  color: #101d51;
  font-family: "Open Sans", sans-serif;
  font-size: 1.3333rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 .5rem;
  padding: 0;
  text-align: center;
}

.rv-checkout__faq-list,
.rv-checkout__faq details,
.rv-checkout__faq details:last-child,
.rv-checkout__faq-answer {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.rv-checkout__faq summary,
.rv-checkout__faq details[open] summary {
  background: transparent;
  border: 0;
  color: #0b60a2;
  font-family: "Open Sans", sans-serif;
  font-size: .8889rem;
  font-weight: 600;
  line-height: 1.25;
  margin: .2em 0 .5em;
  min-height: 0;
  padding: 0;
  text-align: center;
}

.rv-checkout__faq summary::after,
.rv-checkout__faq details[open] summary::after {
  display: none;
}

.rv-checkout__faq-answer {
  margin: 0;
  padding: 0 0 .75rem;
}

.rv-checkout__faq details p {
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: .8333rem;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 820px) {
  .rv-checkout__plan--source-label {
    width: 100%;
  }

  .rv-checkout__faq {
    padding-inline: clamp(.5rem, 3vw, 1rem);
  }
}

/* The inherited theme changes the root size below 48rem. Compensate with
   equivalent rem values at that same threshold so typography stays continuous. */
@media (max-width: 47.99875rem) {
  .rv-checkout__plan-copy strong,
  .rv-checkout__plan-copy em {
    font-size: .875rem;
  }

  .rv-checkout__faq > h2 {
    font-size: clamp(1.25rem, 5.5vw, 1.5rem);
  }

  .rv-checkout__faq summary,
  .rv-checkout__faq details[open] summary {
    font-size: 1rem;
  }

  .rv-checkout__faq details p {
    font-size: .9375rem;
  }
}

/* Returning-customer payment choice stays inside the shared one-page form.
   Use fluid widths and rem-based sizing so the selector remains contained at
   the same narrow breakpoints as the hosted Authorize.net frame. */
.rv-checkout__payment-methods {
  border: 0;
  margin: 1rem 0 0;
  min-width: 0;
  padding: 0;
}

.rv-checkout__payment-methods legend {
  color: #303030;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .55rem;
  padding: 0;
}

.rv-checkout__payment-method-list {
  display: grid;
  gap: .55rem;
  min-width: 0;
}

.rv-checkout__payment-method {
  align-items: center;
  background: #fff;
  border: .0625rem solid #cfcfcf;
  cursor: pointer;
  display: grid;
  font-size: clamp(.875rem, 2.5vw, 1rem);
  gap: .65rem;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.4;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: .75rem;
}

.rv-checkout__payment-method.is-selected {
  background: #fffdf3;
  border-color: #d8a400;
  box-shadow: inset .2rem 0 0 #d8a400;
}

.rv-checkout__payment-method input[type="radio"] {
  accent-color: #168ec5;
  appearance: auto;
  height: 1rem;
  margin: 0;
  opacity: 1;
  position: static;
  width: 1rem;
}

.rv-checkout__payment-method .rv-checkout__radio {
  display: none;
}

.rv-checkout__saved-pay {
  margin-top: 1rem;
}

@media (max-width: 32.5rem) {
  .rv-checkout__payment-method {
    padding: .7rem;
  }
}

/* Source-specific structures that are not shared by the standard Spiffy
   checkout shell. Keep the artwork local so the Portal does not depend on the
   retired source hosts. */
body:has(.rv-checkout__source-support) .rv-checkout-header {
  display: none;
}

.rv-checkout__source-support {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 56.9444rem;
  padding: 1.1111rem 1.5rem .7778rem;
}

.rv-checkout__source-support img {
  height: auto;
  max-width: 9.375rem;
  width: min(9.375rem, 34vw);
}

.rv-checkout__source-support p {
  color: #3d3d3d;
  display: grid;
  font-size: 1rem;
  gap: .15rem;
  line-height: 1.35;
  margin: 0;
  text-align: left;
}

.rv-checkout__source-support strong {
  font-size: 1.125rem;
}

.rv-checkout__source-support a {
  color: #4b98cf;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.rv-checkout--rvp_annual_297 .rv-checkout__hero h1 {
  font-family: Georgia, "Times New Roman", serif;
}

.rv-checkout--rvp_annual_297 .rv-checkout__hero-title-second-line,
.rv-checkout--take_it_all_397 .rv-checkout__hero-title-second-line {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: .92em;
  font-weight: 400;
}

.rv-checkout--rvp_annual_297 .rv-checkout__digital-product,
.rv-checkout--take_it_all_397 .rv-checkout__digital-product {
  color: #111 !important;
  font-weight: 700;
}

.rv-checkout__product-price-note {
  color: #333;
  font-size: 1.1111rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 .45rem;
}

.rv-checkout--rvp_annual_297 .rv-checkout__digital-product::before,
.rv-checkout--take_it_all_397 .rv-checkout__digital-product::before {
  content: none;
}

.rv-checkout--take_it_all_397 .rv-checkout__product-image {
  max-height: none;
  width: 100%;
}

.rv-checkout--inner_circle_standard .rv-checkout__product-image {
  max-height: 6.875rem;
  max-width: min(100%, 18.75rem);
}

.rv-checkout__inner-form-intro {
  background: #fff;
  border-bottom: .0625rem solid #d7d7d7;
  margin: 0 0 1.25rem;
  padding: 1rem 1.25rem 1.25rem;
  text-align: center;
}

.rv-checkout__inner-form-intro img {
  height: auto;
  margin: 0 auto .65rem;
  max-width: min(13.4375rem, 100%);
}

.rv-checkout__inner-form-intro h2,
.rv-checkout__inner-proof h3 {
  color: #222;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.125rem;
  line-height: 1.3;
  margin: 0 0 .45rem;
}

.rv-checkout__inner-form-intro p,
.rv-checkout__inner-proof p {
  color: #333;
  font-size: .875rem;
  line-height: 1.5;
  margin: 0;
}

.rv-checkout__inner-proof {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}

.rv-checkout__inner-guarantee {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(5rem, 9.5rem) minmax(0, 1fr);
}

.rv-checkout__inner-guarantee > img {
  height: auto;
  max-width: 100%;
}

.rv-checkout__inner-security {
  border-top: .0625rem solid #ddd;
  padding-top: 1.25rem;
  text-align: center;
}

.rv-checkout__inner-security img {
  height: auto;
  max-width: min(100%, 19.75rem);
}

.rv-checkout__inner-experience {
  border-top: .0625rem solid #ddd;
  padding-top: 1.25rem;
}

.rv-checkout__inner-stars {
  height: auto;
  margin: .35rem auto .85rem;
  max-width: min(13.6875rem, 72%);
}

.rv-checkout__inner-experience > p {
  margin-bottom: 1rem;
  text-align: center;
}

.rv-checkout__inner-experience blockquote {
  align-items: center;
  background: #fff;
  border: 0;
  box-shadow: none;
  color: #333;
  display: grid;
  gap: .75rem;
  grid-template-columns: 4.4375rem minmax(0, 1fr);
  margin: 0;
  padding: .75rem 0;
}

.rv-checkout__inner-experience blockquote img {
  height: auto;
  max-width: 4.4375rem;
}

.rv-checkout__inner-experience cite {
  display: block;
  font-style: normal;
  margin-top: .25rem;
}

@media (max-width: 820px) {
  .rv-checkout__source-support {
    align-items: center;
    gap: 1rem;
    padding-inline: .75rem;
  }

  .rv-checkout__source-support p {
    font-size: clamp(.75rem, 3vw, .9rem);
  }

  .rv-checkout__inner-proof {
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    order: 3;
    width: 100%;
  }
}

@media (max-width: 32.5rem) {
  .rv-checkout__source-support {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  .rv-checkout__source-support p {
    text-align: center;
  }

  .rv-checkout__inner-guarantee {
    grid-template-columns: minmax(4.75rem, 7.5rem) minmax(0, 1fr);
  }

  .rv-checkout__inner-experience blockquote {
    align-items: start;
  }
}

/* Final profile-level source corrections. Keep these fluid and last so the
   shared responsive checkout retains every source content block on mobile. */
@media (min-width: 821px) {
  .rv-checkout--rvp_annual_197 .rv-checkout__legacy-masthead img {
    max-height: 1.8056rem;
    max-width: 4.1667rem;
    width: 4.1667rem;
  }
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__legacy-masthead-inner {
  min-height: 11.8333rem;
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__legacy-masthead img {
  max-height: none;
  max-width: min(9.7222rem, 44vw);
  width: 9.7222rem;
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__hero h1 {
  font-size: 1.525rem;
  font-weight: 600;
  line-height: 1.25;
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__hero-subtitle {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.2222rem;
  font-weight: 700;
  line-height: 1.4286;
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__product-name {
  color: #333 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin-inline: auto !important;
  max-width: 28rem;
}

:where(
  .rv-checkout--cda_standard_6000,
  .rv-checkout--cda_standard_3150_2pay,
  .rv-checkout--cda_discounted,
  .rv-checkout--cda_launch
) .rv-checkout__product-image--photo {
  height: auto;
  max-height: none;
  width: 100%;
}

.rv-checkout--take_it_all_397 .rv-checkout__product-image:not(.rv-checkout__product-image--secondary) {
  height: auto;
  max-width: min(100%, 17.5rem);
  width: 17.5rem;
}

.rv-checkout--take_it_all_397 .rv-checkout__product-image--secondary {
  height: auto;
  max-width: 100%;
  width: 100%;
}

.rv-checkout--aopm_497 .rv-checkout__product-name {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600 !important;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro {
  padding-block: clamp(.75rem, 2vw, 1rem);
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro h2 {
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 600;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro h2::before {
  content: none;
}

@media (max-width: 520px) {
  :where(
    .rv-checkout--cda_standard_6000,
    .rv-checkout--cda_standard_3150_2pay,
    .rv-checkout--cda_discounted,
    .rv-checkout--cda_launch
  ) .rv-checkout__legacy-masthead-inner {
    min-height: 0;
  }

  :where(
    .rv-checkout--cda_standard_6000,
    .rv-checkout--cda_standard_3150_2pay,
    .rv-checkout--cda_discounted,
    .rv-checkout--cda_launch
  ) .rv-checkout__legacy-masthead img {
    max-width: min(9.7222rem, 58vw);
  }
}

/* Approved source-drift repair, 2026-10-01. One source unit follows root text
   scaling while neutralizing the theme's 18px/16px breakpoint. These rules are
   offer-scoped: do not change the summary, payment shell, or content visibility. */
.rv-checkout {
  --rv-source-unit: .05555556rem;
}

@media (max-width: 47.99875rem) {
  .rv-checkout {
    --rv-source-unit: .0625rem;
  }
}

.rv-checkout__today-price > strong {
  font: inherit;
  color: inherit;
}

.rv-checkout--rvp_trial_1_14d .rv-checkout__legacy-masthead img {
  height: auto;
  max-height: none;
  max-width: min(100%, calc(150 * var(--rv-source-unit)));
  width: calc(150 * var(--rv-source-unit));
}

.rv-checkout--cda_discounted .rv-checkout__plan-panel legend,
.rv-checkout--cda_launch .rv-checkout__plan-panel legend {
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
}

.rv-checkout--cda_discounted .rv-checkout__plan-copy strong,
.rv-checkout--cda_discounted .rv-checkout__plan.is-selected .rv-checkout__plan-copy strong,
.rv-checkout--cda_launch .rv-checkout__plan-copy strong,
.rv-checkout--cda_launch .rv-checkout__plan.is-selected .rv-checkout__plan-copy strong {
  font-style: normal;
}

.rv-checkout--cda_discounted .rv-checkout__product-image--photo,
.rv-checkout--cda_launch .rv-checkout__product-image--photo {
  max-width: min(100%, calc(365 * var(--rv-source-unit)));
  width: calc(365 * var(--rv-source-unit));
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__source-support {
  padding-bottom: calc(20 * var(--rv-source-unit));
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__source-support img {
  max-width: min(100%, calc(150 * var(--rv-source-unit)));
  width: calc(150 * var(--rv-source-unit));
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__source-support p,
:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__source-support strong {
  font-size: calc(20 * var(--rv-source-unit));
  line-height: 1.6;
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__hero {
  padding-block: calc(25 * var(--rv-source-unit)) calc(16 * var(--rv-source-unit));
}

.rv-checkout--take_it_all_397 .rv-checkout__hero {
  padding-bottom: clamp(2rem, 5vw, calc(70 * var(--rv-source-unit)));
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__hero h1 {
  color: #000;
  font-size: clamp(1.5rem, 3.2vw, calc(36 * var(--rv-source-unit)));
  line-height: 1.4;
  margin-bottom: calc(12 * var(--rv-source-unit));
}

.rv-checkout--take_it_all_397 .rv-checkout__hero h1 {
  font-weight: 800;
}

.rv-checkout--rvp_annual_297 .rv-checkout__hero h1,
.rv-checkout--rvp_annual_297 .rv-checkout__hero-subtitle {
  font-family: "Allan", "Times New Roman", serif;
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__hero-title-second-line {
  display: block;
  font-family: "Open Sans", sans-serif;
  font-size: .8889em;
  font-weight: 400;
  margin-top: calc(8 * var(--rv-source-unit));
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__hero-subtitle {
  color: #515151;
  font-size: calc(20 * var(--rv-source-unit));
  line-height: 1.6;
}

.rv-checkout--take_it_all_397 .rv-checkout__product-presentation {
  max-width: min(100%, calc(369 * var(--rv-source-unit)));
  margin-inline: auto;
  width: 100%;
}

.rv-checkout--take_it_all_397 .rv-checkout__product-image:not(.rv-checkout__product-image--secondary) {
  max-width: min(100%, calc(280 * var(--rv-source-unit)));
  width: calc(280 * var(--rv-source-unit));
}

.rv-checkout--take_it_all_397 .rv-checkout__today-price {
  color: #333;
  font-family: Montserrat, sans-serif;
  font-size: calc(28 * var(--rv-source-unit));
  font-weight: 500;
  line-height: 1.25;
}

.rv-checkout--take_it_all_397 .rv-checkout__today-price > strong {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}

.rv-checkout--rvp_annual_297 .rv-checkout__today-price {
  color: #0c0c0c;
  font-family: Montserrat, sans-serif;
  font-size: calc(32 * var(--rv-source-unit));
  font-weight: 600;
  line-height: 1.25;
}

.rv-checkout--rvp_annual_297 .rv-checkout__product-price-note {
  font-family: Montserrat, sans-serif;
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
}

:is(.rv-checkout--take_it_all_397, .rv-checkout--rvp_annual_297) .rv-checkout__digital-product {
  font-family: Montserrat, sans-serif;
  font-size: calc(13 * var(--rv-source-unit)) !important;
  line-height: 1.6;
}

.rv-checkout--take_it_all_397 .rv-checkout__digital-product {
  color: #333 !important;
  font-weight: 400;
}

.rv-checkout--rvp_annual_297 .rv-checkout__included h2 {
  color: #1c1c1c;
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
}

.rv-checkout--rvp_annual_297 .rv-checkout__included li::before {
  background: var(--rv-source-checkmark) center / contain no-repeat;
  content: "";
  height: 1.4375em;
  width: 1.4375em;
  font-size: inherit;
  top: .15em;
}

.rv-checkout--rvp_annual_297 .rv-checkout__included ul {
  gap: 0;
  width: 100%;
}

.rv-checkout--rvp_annual_297 .rv-checkout__included li {
  padding-left: 1.1em;
}

.rv-checkout--rvp_annual_297 .rv-checkout__included li::before {
  height: .875em;
  width: .875em;
  top: .35em;
}

.rv-checkout--aopm_497 .rv-checkout__today-price {
  color: #595959;
  font-family: normal;
  font-size: calc(26 * var(--rv-source-unit));
  font-weight: 400;
  line-height: 1.25;
}

.rv-checkout--aopm_497 .rv-checkout__today-price > strong {
  color: #3b3b3b;
  font-weight: 600;
}

.rv-checkout--aopm_497 .rv-checkout__digital-product {
  color: #595959 !important;
  font-family: "Open Sans", sans-serif;
  font-size: calc(14 * var(--rv-source-unit)) !important;
  font-weight: 400;
  line-height: 1.25;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro {
  background: transparent;
  border: 0;
  margin: 0 0 calc(40 * var(--rv-source-unit));
  padding: 0;
  text-align: left;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro > img {
  display: block;
  margin: 0 0 calc(10 * var(--rv-source-unit));
}

.rv-checkout__inner-guarantee-box {
  background: transparent;
  border: 0;
  padding: 0;
  display: flow-root;
}

.rv-checkout__inner-form-intro .rv-checkout__inner-guarantee-icon {
  float: left;
  height: auto;
  width: calc(21 * var(--rv-source-unit));
  margin: 0 calc(10 * var(--rv-source-unit)) 0 0;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro h2 {
  color: #333;
  font-family: "Open Sans", sans-serif;
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
  line-height: 1.4286;
  margin: 0;
}

.rv-checkout--inner_circle_standard .rv-checkout__inner-form-intro p {
  color: #333;
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: calc(16 * var(--rv-source-unit));
  line-height: 1.4286;
  margin-top: calc(10 * var(--rv-source-unit));
}

/* Inner Circle uses the Premium form's shared hero, inclusion list, radio
   selector and summary styling. Its own proof copy/artwork stays intact. */
.rv-checkout__inner-proof h3 {
  font-family: "Open Sans", sans-serif;
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
  line-height: 1.25;
}

.rv-checkout__inner-proof p {
  font-size: calc(16 * var(--rv-source-unit));
  line-height: 1.6;
}

.rv-checkout__hosted-frame {
  min-height: 26.25rem;
}

/* Accept Hosted reports its preferred desktop dimensions through the iframe
   communicator. When that width exceeds the legacy checkout column, scale the
   iframe as one cross-origin surface instead of exposing a horizontal bar. */
.rv-checkout__hosted-shell.is-scaled {
  overflow: hidden;
}

.rv-checkout__hosted-shell.is-scaled .rv-checkout__hosted-frame {
  display: block;
}

/* The hosted phone form stacks billing fields and may not emit a fresh height
   after an outer-window resize. Reserve room for that stacked layout. */
.rv-checkout__hosted-shell.is-native-narrow .rv-checkout__hosted-frame {
  min-height: 52rem;
}

/* Inline checkout validation must remain legible under the legacy
   placeholder-only label styling. */
.rv-checkout__contact .rv-checkout__fields label .rv-checkout__field-error,
.rv-checkout__authorization .rv-checkout__terms-error {
  color: #862316;
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  margin: 5px 0 9px;
}

.rv-checkout__field-error[hidden],
.rv-checkout__terms-error[hidden] {
  display: none !important;
}

.rv-checkout .rv-checkout__authorization input[aria-invalid="true"] {
  outline: 2px solid #b73525;
  outline-offset: 2px;
}

.rv-checkout__hosted-placeholder a {
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Match the source bump's single compact checkbox / arrow / headline row.
   The explanatory copy starts under the headline rather than under the
   checkbox, while remaining fluid on narrow screens. */
.rv-checkout__bump {
  display: grid;
  gap: .55rem;
  grid-template-columns: minmax(0, 1fr);
}

.rv-checkout__bump-title {
  align-items: flex-start;
  display: flex;
  gap: 0;
  min-width: 0;
}

.rv-checkout__bump-title input {
  flex: 0 0 1.25rem;
}

.rv-checkout__bump-arrow {
  flex: 0 0 1.5556rem;
  margin: .08rem .65rem 0 .25rem;
  max-width: 1.5556rem;
  width: 1.5556rem;
}

.rv-checkout__bump-title strong {
  flex: 1 1 auto;
  min-width: 0;
}

.rv-checkout__bump > small {
  margin-left: 3.7056rem;
}

/* Keep the verification action visible inside Password without obscuring text. */
.rv-checkout__contact .rv-checkout__credentials {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 0;
  margin: 14px 0 0;
}

.rv-checkout__contact .rv-checkout__credentials > label:first-child input {
  border-radius: 4px 0 0 4px !important;
  border-right: 0 !important;
}

.rv-checkout__contact .rv-checkout__password-verification {
  min-width: 0;
  position: relative;
}

.rv-checkout__contact .rv-checkout__password-verification input {
  border-radius: 0 4px 4px 0 !important;
  padding-right: 105px !important;
}

.rv-checkout__contact .rv-checkout__credentials + .rv-checkout__field-hint {
  margin-top: 6px;
}

.rv-checkout__contact .rv-checkout__app-instance {
  margin-top: 16px;
}

/* A branded masthead does not require enabling a countdown. Discount uses
   the approved launch composition while retaining its own timer setting. */
body:has(.rv-checkout--cda_discounted) .rv-checkout-header,
.rv-checkout--cda_discounted .rv-checkout__product-logo {
  display: none;
}

.rv-checkout--cda_discounted {
  max-width: 67.7778rem;
}

.rv-checkout--cda_discounted :is(.rv-checkout__legacy-masthead, .rv-checkout__hero, .rv-checkout__layout, .rv-checkout__faq) {
  margin-inline: auto;
  max-width: 56.9444rem;
}

/* AOPM source testimonials belong below both columns, not inside the aside. */
.rv-checkout__aopm-students {
  box-sizing: border-box;
  width: 100%;
  max-width: 56.9444rem;
  margin: 2rem auto 0;
  padding: 0 1.5rem;
  color: #333;
  text-align: center;
  font-family: Montserrat, sans-serif;
}

.rv-checkout__aopm-students h3 {
  font-size: calc(20 * var(--rv-source-unit));
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 1rem;
}

.rv-checkout__aopm-stars {
  display: block;
  width: calc(200 * var(--rv-source-unit));
  max-width: 100%;
  height: auto;
  margin: 0 auto 1rem;
}

.rv-checkout__aopm-students > p {
  font-size: calc(16 * var(--rv-source-unit));
  line-height: 1.5;
  margin: 0;
}

.rv-checkout__aopm-students h2 {
  color: #0da48c;
  font-family: inherit;
  font-size: calc(28 * var(--rv-source-unit));
  font-weight: 700;
  line-height: 1.35;
  margin: 1rem 0 2rem;
  overflow-wrap: anywhere;
}

.rv-checkout__aopm-students-art {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.rv-checkout__aopm-students-text {
  display: none;
}

@media (max-width: 51.25rem) {
  .rv-checkout__aopm-students {
    padding-inline: .75rem;
  }

  .rv-checkout__aopm-students-art {
    display: none;
  }

  .rv-checkout__aopm-students-text {
    display: grid;
    gap: 1.75rem;
  }

  .rv-checkout__aopm-students-text blockquote {
    display: grid;
    justify-items: center;
    gap: .75rem;
    background: transparent;
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
    font-style: normal;
  }

  .rv-checkout__aopm-students-text p {
    margin: 0;
    color: #333;
    font-size: 1rem;
    line-height: 1.6;
    text-align: left;
    overflow-wrap: anywhere;
  }

  .rv-checkout__aopm-students-text cite {
    font-style: normal;
  }

  /* Reuse the original portraits/rating artwork without shrinking its words. */
  .rv-checkout__aopm-portrait {
    width: 7rem;
    max-width: 100%;
    aspect-ratio: 240 / 235;
    background-image: var(--rv-aopm-portraits);
    background-repeat: no-repeat;
    background-size: 660% auto;
    background-position: left top;
  }

  .rv-checkout__aopm-students-text blockquote:nth-child(2) .rv-checkout__aopm-portrait {
    background-position-y: 45.66%;
  }

  .rv-checkout__aopm-students-text blockquote:nth-child(3) .rv-checkout__aopm-portrait {
    background-position-y: 92.1%;
  }
}

@media (max-width: 520px) {
  .rv-checkout__contact .rv-checkout__credentials {
    grid-template-columns: minmax(0, 1fr);
  }

  .rv-checkout__contact .rv-checkout__credentials > label:first-child input {
    border-radius: 4px 4px 0 0 !important;
    border-bottom: 0 !important;
    border-right: 1px solid #d0d0d0 !important;
  }

  .rv-checkout__contact .rv-checkout__password-verification input {
    border-radius: 0 0 4px 4px !important;
  }
}
