.rp-hero{
  padding-block:var(--rm-hero-pad);
  background:#fcfbf9;
  background:linear-gradient(135deg,#fcfbf9,var(--rm-mauve));
  color:#171426
}

.rp-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  align-items:start;
  gap:clamp(2.5rem,6vw,5rem)
}

.rp-hero-copy{
  min-width:0;
  align-items:flex-start
}

.rp-hero-copy h1{
  max-width:15ch;
  margin-inline:0;
  font-size:var(--rm-text-3xl);
  line-height:1.18
}

.rp-hero-lead{
  max-width:42rem;
  margin-top:var(--rm-space-3);
  color:#59545e;
  font-size:var(--rm-text-lg)
}

.rp-hero-points{
  display:grid;
  gap:.5rem;
  margin-top:var(--rm-space-3);
  padding:0;
  list-style:none
}

.rp-hero-points li{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:.5rem;
  color:#3f3a45
}

.rp-hero-points svg{
  width:1.25rem;
  height:1.25rem;
  margin-top:.2rem;
  color:#981b38
}

.rp-hero-actions{
  justify-content:flex-start;
  margin-top:var(--rm-space-3);
  margin-bottom:var(--rm-space-2)
}

.rp-hero-note{
  max-width:39rem;
  color:#696771;
  font-size:var(--rm-text-sm)
}

.rp-pairing-stage{
  min-width:0;
  height:auto;
  align-self:start;
  overflow:hidden;
  border-radius:var(--rm-radius-lg);
  background:#171426;
  color:#fff;
  box-shadow:var(--rm-shadow)
}

.rp-pairing-sheet{
  width:100%;
  max-width:none;
  height:auto;
  padding:0;
  overflow:hidden;
  background:#171426;
  color:#fff
}

.rp-stage-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rm-space-2);
  padding:1.5rem;
  background:#981b38;
  color:#fff
}

.rp-stage-heading>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-stage-heading span{
  color:#f6dfe6;
  font-size:var(--rm-text-xs);
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase
}

.rp-stage-heading strong{
  color:#fff;
  font-family:var(--rm-font-heading);
  font-size:var(--rm-text-lg);
  line-height:1.25
}

.rp-stage-state{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .7rem;
  border-radius:var(--rm-radius-pill);
  background:#fff1cf;
  color:#493512!important;
  font-size:var(--rm-text-xs)!important;
  letter-spacing:0!important
}

.rp-stage-state i{
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:#981b38
}

.rp-stage-section{
  display:grid;
  gap:.5rem;
  padding:1.25rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,.14);
  background:#171426;
  color:#fff
}

.rp-stage-label{
  color:#c8c3cd;
  font-size:var(--rm-text-xs);
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase
}

.rp-period-switch{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem
}

.rp-period-button{
  min-width:0;
  min-height:2.5rem;
  padding:.55rem .7rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--rm-radius-pill);
  background:transparent;
  color:#fff;
  font-size:var(--rm-text-sm);
  font-weight:750;
  line-height:1.2
}

.rp-period-button:hover{
  background:#282431;
  color:#fff
}

.rp-period-button:focus-visible{
  outline:3px solid rgba(255,255,255,.28);
  outline-offset:2px
}

.rp-period-button.is-active{
  border-color:#fff;
  background:#fff;
  color:#171426
}

.rp-stage-plans{
  display:grid;
  gap:.5rem
}

.rp-stage-plan{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--rm-space-2);
  padding:1rem;
  border-radius:var(--rm-radius-sm);
  background:#fff;
  color:#171426
}

.rp-stage-plan>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-stage-plan span{
  color:#171426;
  font-weight:750
}

.rp-stage-plan small{
  color:#696771
}

.rp-stage-plan>strong{
  color:#981b38;
  font-size:var(--rm-text-lg);
  white-space:nowrap
}

.rp-city-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(6.4rem,1fr));
  gap:.5rem
}

.rp-city-grid>div{
  min-width:0;
  display:grid;
  gap:.5rem;
  padding:1rem;
  border-radius:var(--rm-radius-sm);
  background:#e9eef9;
  color:#202d4d
}

.rp-city-grid span{
  color:#981b38;
  font-family:var(--rm-font-mono);
  font-size:var(--rm-text-xs);
  font-weight:800
}

.rp-city-grid strong{
  color:#202d4d;
  font-size:var(--rm-text-sm)
}

.rp-city-grid small{
  color:#536078
}

.rp-stage-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rm-space-2);
  padding:1.25rem 1.5rem;
  background:#282431;
  color:#fff
}

.rp-stage-footer span{
  color:#c8c3cd;
  font-size:var(--rm-text-sm)
}

.rp-stage-footer strong{
  color:#fff;
  font-size:var(--rm-text-sm)
}

.rp-price-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--rm-space-3)
}

.rp-plan-details{
  display:grid;
  gap:.5rem;
  margin-top:var(--rm-space-3);
  padding-inline-start:1.2rem;
  color:#58535b
}

.rp-plan-details li{
  color:#58535b;
  font-size:var(--rm-text-sm)
}

.rp-spec-table th:not(:first-child),
.rp-spec-table td:not(:first-child){
  text-align:left
}

.rp-advisor-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
  align-items:start;
  gap:var(--rm-space-3)
}

.rp-advisor-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--rm-space-2)
}

.rp-card-mark{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem
}

.rp-icon-chip,
.rp-addon-icon,
.rp-payment-icon{
  flex:0 0 auto;
  width:2.75rem;
  height:2.75rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--rm-radius-sm);
  background:#f2e9f0;
  color:#41243a
}

.rp-icon-chip svg,
.rp-addon-icon svg,
.rp-payment-icon svg{
  width:1.5rem;
  height:1.5rem
}

.rp-advisor-card h3{
  overflow-wrap:anywhere
}

.rp-advisor-metrics{
  width:100%;
  display:grid;
  gap:0;
  margin:var(--rm-space-2) 0 0
}

.rp-advisor-metrics>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,8rem) minmax(0,1fr);
  gap:var(--rm-space-2);
  padding:.75rem 0;
  border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)
}

.rp-advisor-metrics dt,
.rp-advisor-metrics dd{
  min-width:0;
  color:inherit;
  overflow-wrap:anywhere
}

.rp-advisor-note{
  margin-top:var(--rm-space-3)
}

.rp-addon-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
  align-items:start;
  gap:var(--rm-space-3)
}

.rp-addon-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--rm-space-3)
}

.rp-addon-heading{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--rm-space-2)
}

.rp-addon-heading>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-addon-heading p{
  font-size:var(--rm-text-sm)
}

.rp-period-prices{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none
}

.rp-period-prices li{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--rm-space-2);
  padding:.8rem 0;
  border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)
}

.rp-period-prices span{
  min-width:0;
  color:inherit;
  font-size:var(--rm-text-sm)
}

.rp-period-prices strong{
  color:inherit;
  font-size:var(--rm-text-sm);
  white-space:nowrap
}

.rp-region-table th:not(:first-child),
.rp-region-table td:not(:first-child){
  text-align:left
}

.rp-region-guidance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:var(--rm-space-3);
  margin-top:var(--rm-space-4)
}

.rp-region-guidance article{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--rm-space-2);
  padding:1.5rem;
  border-radius:var(--rm-radius-md);
  background:#fff;
  color:#171426
}

.rp-region-guidance article>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  background:#981b38;
  color:#fff;
  font-size:var(--rm-text-sm)
}

.rp-region-guidance article>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-region-guidance h3{
  color:#171426;
  font-size:var(--rm-text-lg)
}

.rp-region-guidance p{
  color:#696771;
  font-size:var(--rm-text-sm)
}

.rp-billing-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  align-items:stretch;
  gap:var(--rm-space-3)
}

.rp-billing-sheet{
  min-width:0;
  overflow:hidden;
  border-radius:var(--rm-radius-lg);
  background:#fff;
  color:#171426;
  box-shadow:var(--rm-shadow-soft)
}

.rp-billing-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rm-space-2);
  padding:1.5rem;
  background:#171426;
  color:#fff
}

.rp-billing-head>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-billing-head span{
  color:#c8c3cd;
  font-size:var(--rm-text-xs);
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase
}

.rp-billing-head strong{
  color:#fff
}

.rp-billing-lines{
  display:grid;
  padding-inline:1.5rem;
  background:#fff;
  color:#171426
}

.rp-billing-lines>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--rm-space-2);
  padding:1.25rem 0;
  border-bottom:1px solid #e7e3df
}

.rp-billing-lines>div>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-billing-lines strong{
  color:#171426
}

.rp-billing-lines span{
  color:#696771;
  font-size:var(--rm-text-sm)
}

.rp-billing-lines>div>strong{
  white-space:nowrap
}

.rp-billing-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rm-space-2);
  padding:1.5rem;
  background:#fff1cf;
  color:#493512
}

.rp-billing-total>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-billing-total span,
.rp-billing-total strong{
  color:#493512
}

.rp-billing-total small{
  color:#705c35
}

.rp-billing-total>strong{
  font-size:var(--rm-text-2xl);
  white-space:nowrap
}

.rp-billing-rules{
  min-width:0;
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:var(--rm-space-3)
}

.rp-billing-rules>.rm-card{
  height:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--rm-space-2)
}

.rp-billing-rules .rm-badge{
  width:fit-content;
  align-self:flex-start;
  padding-inline:0;
  background:transparent
}

.rp-payment-panel{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:stretch;
  gap:var(--rm-space-4);
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:var(--rm-radius-lg);
  background:#f5eee5;
  color:#413126
}

.rp-payment-copy{
  min-width:0
}

.rp-payment-copy h2{
  color:#413126
}

.rp-payment-copy p{
  margin-top:var(--rm-space-3);
  color:#725f50;
  font-size:var(--rm-text-lg)
}

.rp-payment-methods{
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:var(--rm-space-3)
}

.rp-payment-methods article{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:var(--rm-space-2);
  padding:1.5rem;
  border-radius:var(--rm-radius-md);
  background:#fff;
  color:#171426
}

.rp-payment-methods article>div{
  min-width:0;
  display:grid;
  gap:.5rem
}

.rp-payment-methods h3{
  color:#171426
}

.rp-payment-methods p{
  color:#696771;
  font-size:var(--rm-text-sm)
}

.rp-final-section{
  padding-block:var(--rm-section-pad);
  background:#fcfbf9;
  color:#171426
}

.rp-closing-panel{
  position:relative;
  overflow:hidden
}

.rp-closing-panel>div{
  position:relative;
  z-index:1;
  min-width:0
}

.rp-dark-kicker{
  margin-bottom:1.2rem;
  background:#fff1cf;
  color:#493512
}

.rp-dark-kicker::before{
  background:#171426
}

.rp-closing-actions{
  flex:0 0 min(100%,19rem);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--rm-space-2)
}

.rp-light-button{
  border-color:#fff;
  background:#fff;
  color:#171426
}

.rp-light-button:hover{
  background:#f5eee5;
  color:#171426
}

.rp-dark-ghost{
  border-color:rgba(255,255,255,.42);
  background:transparent;
  color:#fff
}

.rp-dark-ghost:hover{
  background:#282431;
  color:#fff
}

@media (max-width:64rem){
  .rp-hero-layout,
  .rp-billing-layout,
  .rp-payment-panel{
    grid-template-columns:1fr
  }

  .rp-pairing-stage,
  .rp-pairing-sheet{
    height:auto;
    overflow:hidden
  }

  .rp-price-grid,
  .rp-region-guidance{
    grid-template-columns:1fr
  }

  .rp-billing-rules{
    grid-template-rows:auto
  }

  .rp-billing-rules>.rm-card{
    height:auto
  }
}

@media (max-width:44rem){
  .rp-hero-copy h1{
    max-width:none
  }

  .rp-period-switch{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .rp-stage-heading,
  .rp-stage-footer,
  .rp-billing-total{
    align-items:flex-start;
    flex-direction:column
  }

  .rp-stage-state{
    align-self:flex-start
  }

  .rp-stage-plan,
  .rp-billing-lines>div{
    grid-template-columns:1fr
  }

  .rp-stage-plan>strong,
  .rp-billing-lines>div>strong{
    white-space:normal
  }

  .rp-price-card-head,
  .rm-price-card-foot{
    align-items:flex-start;
    flex-direction:column
  }

  .rp-advisor-metrics>div{
    grid-template-columns:1fr
  }

  .rp-period-prices li{
    grid-template-columns:minmax(0,1fr) auto
  }

  .rp-payment-methods article{
    align-items:start
  }

  .rp-closing-actions{
    width:100%;
    flex-basis:auto
  }
}
