.rpl-hero{
  padding-block:var(--space-6);
  background:var(--color-light);
  color:var(--color-ink);
}

.rpl-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:var(--space-5);
  align-items:stretch;
}

.rpl-hero__copy,
.rpl-hero__grid > *{
  min-width:0;
}

.rpl-title-group,
.rpl-section-title{
  display:grid;
  gap:var(--space-2);
}

.rpl-title-group h1,
.rpl-section-title h2,
.rpl-docket h2,
.rpl-price-card h3,
.rpl-spec-plate h2,
.rpl-addon-card h3,
.rpl-billing-section h3,
.rpl-payment-section h3,
.rpl-close h2{
  font-family:var(--font-body);
}

.rpl-title-group h1{
  max-width:17ch;
  font-size:clamp(2.35rem,4.5vw,3.2rem);
  line-height:1.17;
  font-weight:700;
  overflow-wrap:anywhere;
}

.rpl-hero__lead{
  max-width:42rem;
  margin-top:var(--space-3);
  font-size:var(--fs-3);
  line-height:1.65;
}

.rpl-hero__support{
  max-width:42rem;
  margin-top:var(--space-2);
  color:var(--color-muted);
}

.rpl-hero__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-block:var(--space-3);
}

.rpl-hero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding-top:var(--space-3);
  border-top:1px solid var(--line-paper);
}

.rpl-hero__facts div{
  min-width:0;
  padding-inline:var(--space-2);
}

.rpl-hero__facts div:first-child{
  padding-inline-start:0;
}

.rpl-hero__facts dt{
  color:var(--color-muted);
}

.rpl-hero__facts dd{
  margin-top:var(--space-1);
  color:var(--color-primary);
  font-size:var(--fs-3);
  font-weight:700;
  overflow-wrap:anywhere;
}

.rpl-docket{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-dark);
  color:#f9f4ee;
  box-shadow:var(--shadow-soft);
}

.rpl-docket__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-2) var(--space-3);
  background:var(--color-primary);
  color:#fff;
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  line-height:1.4;
  letter-spacing:.06em;
}

.rpl-docket__head strong{
  color:var(--color-accent-soft);
}

.rpl-docket__body{
  padding:var(--space-3);
}

.rpl-docket__model{
  display:grid;
  gap:var(--space-2);
}

.rpl-docket__model .c-badge{
  background:var(--color-accent-soft);
  color:#17151d;
}

.rpl-docket__model h2{
  font-size:var(--fs-5);
  font-weight:700;
}

.rpl-docket__model p{
  color:#c5c0ca;
}

.rpl-docket__rows{
  margin:var(--space-3) 0 0;
}

.rpl-docket__rows div{
  display:grid;
  grid-template-columns:minmax(7rem,.65fr) minmax(0,1.35fr);
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-top:1px solid var(--line-dark);
}

.rpl-docket__rows dt{
  color:#aaa5af;
}

.rpl-docket__rows dd{
  min-width:0;
  color:#f9f4ee;
  overflow-wrap:anywhere;
}

.rpl-docket__total{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--space-1) var(--space-2);
  align-items:end;
  margin-top:var(--space-2);
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:var(--color-accent-soft);
  color:#17151d;
}

.rpl-docket__total strong{
  font-size:var(--fs-4);
}

.rpl-docket__total small{
  grid-column:1/-1;
  color:#353142;
}

.rpl-plan-section,
.rpl-advisor-section,
.rpl-billing-section,
.rpl-payment-section{
  background:var(--color-paper);
  color:var(--color-ink);
}

.rpl-spec-section{
  background:var(--color-dark);
  color:#f9f4ee;
}

.rpl-addon-section{
  background:var(--color-light);
  color:var(--color-ink);
}

.rpl-region-section{
  background:var(--color-surface-2);
  color:var(--color-ink);
}

.rpl-section-head--dark p{
  color:#c5c0ca;
}

.rpl-kicker--dark{
  color:var(--color-accent-soft);
}

.rpl-price-card{
  margin-top:var(--space-4);
  background:var(--color-light);
  color:var(--color-ink);
}

.rpl-price-card__summary{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(15rem,.7fr);
  gap:var(--space-4);
  align-items:end;
}

.rpl-price-card__identity,
.rpl-price-card__entry{
  display:grid;
  gap:var(--space-2);
  min-width:0;
}

.rpl-price-card__identity h3{
  font-size:var(--fs-5);
  font-weight:700;
}

.rpl-price-card__identity p{
  max-width:46rem;
  color:var(--color-muted);
}

.rpl-price-card__entry{
  justify-items:start;
}

.rpl-price-card__entry > span{
  color:var(--color-muted);
  font-weight:700;
}

.rpl-price-card__entry .c-btn{
  margin-top:var(--space-1);
}

.rpl-price-card__note{
  margin-top:var(--space-2);
  color:var(--color-muted);
}

.rpl-spec-plate{
  display:grid;
  grid-template-columns:minmax(11rem,.27fr) minmax(0,.73fr);
  margin-top:var(--space-4);
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  color:var(--color-ink);
}

.rpl-spec-plate__rail{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-4);
  background:var(--color-primary);
  color:#fff;
}

.rpl-spec-plate__rail span,
.rpl-spec-plate__rail small{
  font-family:var(--font-mono);
  letter-spacing:.08em;
}

.rpl-spec-plate__rail strong{
  font:700 var(--fs-4)/1.25 var(--font-mono);
  overflow-wrap:anywhere;
}

.rpl-spec-plate__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  margin:0;
  padding:var(--space-2) var(--space-4);
}

.rpl-spec-plate__grid div{
  min-width:0;
  padding:var(--space-3) var(--space-2);
  border-bottom:1px solid var(--line-paper);
}

.rpl-spec-plate__grid dt{
  color:var(--color-muted);
}

.rpl-spec-plate__grid dd{
  margin-top:var(--space-1);
  color:var(--color-primary);
  font-size:var(--fs-3);
  font-weight:700;
  overflow-wrap:anywhere;
}

.rpl-spec-plate__grid p{
  margin-top:var(--space-1);
  color:var(--color-muted);
  font-size:var(--fs-1);
}

.rpl-advisor-table{
  min-width:64rem;
  margin-top:var(--space-4);
}

.rpl-advisor-table caption,
.rpl-region-table caption{
  padding-bottom:var(--space-2);
  color:var(--color-muted);
  font-weight:700;
  text-align:left;
}

.rpl-advisor-table td,
.rpl-advisor-table th,
.rpl-region-table td,
.rpl-region-table th{
  vertical-align:top;
}

.rpl-advisor-table td strong,
.rpl-advisor-table td span{
  display:block;
}

.rpl-advisor-table td span{
  margin-top:var(--space-1);
  color:var(--color-muted);
}

.rpl-advisor-note,
.rpl-payment-note{
  margin-top:var(--space-3);
}

.rpl-advisor-note h3,
.rpl-payment-note h3{
  font-size:var(--fs-3);
}

.rpl-advisor-note h3 + p,
.rpl-payment-note h3 + p{
  margin-top:var(--space-1);
}

.rpl-addon-grid{
  margin-top:var(--space-4);
}

.rpl-addon-card{
  background:var(--color-paper);
  color:var(--color-ink);
}

.rpl-addon-card__head{
  display:flex;
  align-items:flex-start;
  gap:var(--space-2);
}

.rpl-addon-card__head > div{
  display:grid;
  min-width:0;
  gap:var(--space-2);
}

.rpl-addon-card__icon,
.rpl-payment-card__icon{
  display:grid;
  width:3rem;
  height:3rem;
  flex:0 0 3rem;
  place-items:center;
  border-radius:50%;
  background:var(--color-surface);
  color:var(--color-primary);
}

.rpl-addon-card > p{
  margin-top:var(--space-3);
  color:var(--color-muted);
}

.rpl-addon-prices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:var(--space-3) 0 0;
  border-top:1px solid var(--line-paper);
}

.rpl-addon-prices div{
  min-width:0;
  padding:var(--space-2) var(--space-1);
  border-bottom:1px solid var(--line-paper);
}

.rpl-addon-prices dt{
  color:var(--color-muted);
}

.rpl-addon-prices dd{
  margin-top:var(--space-1);
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-size:var(--fs-3);
  font-weight:700;
}

.rpl-billing-paired{
  margin-top:var(--space-4);
}

.rpl-invoice{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-paper);
  color:var(--color-ink);
  box-shadow:var(--shadow-soft);
}

.rpl-invoice__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:var(--color-primary);
  color:#fff;
}

.rpl-invoice__head div{
  display:grid;
  gap:var(--space-1);
}

.rpl-invoice__head span{
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  letter-spacing:.08em;
}

.rpl-invoice__head strong{
  font-size:var(--fs-4);
}

.rpl-invoice__context{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:var(--space-2) var(--space-3);
  background:var(--color-surface);
  color:var(--color-ink);
}

.rpl-invoice__context div{
  display:grid;
  min-width:0;
  gap:var(--space-1);
}

.rpl-invoice__context span{
  color:var(--color-muted);
  font-size:var(--fs-1);
}

.rpl-invoice__context strong{
  overflow-wrap:anywhere;
}

.rpl-invoice__lines{
  margin:0;
  padding-inline:var(--space-3);
}

.rpl-invoice__lines > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--space-2);
  align-items:start;
  padding-block:var(--space-3);
  border-bottom:1px solid var(--line-paper);
}

.rpl-invoice__lines dt{
  display:grid;
  min-width:0;
  gap:var(--space-1);
}

.rpl-invoice__lines dt span{
  color:var(--color-muted);
  font-weight:400;
}

.rpl-invoice__lines dd{
  color:var(--color-primary);
  font-size:var(--fs-3);
  font-weight:700;
}

.rpl-invoice__formula{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  margin:var(--space-3);
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:var(--color-light);
  color:var(--color-ink);
}

.rpl-invoice__formula strong{
  color:var(--color-primary);
  font-size:var(--fs-3);
}

.rpl-invoice > p{
  padding:0 var(--space-3) var(--space-3);
  color:var(--color-muted);
}

.rpl-billing-notes{
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
}

.rpl-billing-note{
  display:flex;
  flex-direction:column;
  background:var(--color-surface-2);
  color:var(--color-ink);
}

.rpl-billing-note h3{
  margin-top:var(--space-2);
}

.rpl-billing-note p{
  margin-top:var(--space-1);
  color:var(--color-muted);
}

.rpl-region-table{
  min-width:58rem;
  margin-top:var(--space-4);
}

.rpl-status{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  width:fit-content;
  padding:.4rem .7rem;
  border-radius:999px;
  background:var(--color-accent-soft);
  color:#17151d;
  font-size:var(--fs-1);
  font-weight:700;
}

.rpl-status::before{
  content:"";
  width:.45rem;
  height:.45rem;
  flex:0 0 .45rem;
  border-radius:50%;
  background:var(--color-dark);
}

.rpl-region-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-1);
  margin-top:var(--space-3);
}

.rpl-payment-grid{
  margin-top:var(--space-4);
}

.rpl-payment-card{
  background:var(--color-paper);
  color:var(--color-ink);
}

.rpl-payment-card__icon{
  margin-bottom:var(--space-2);
}

.rpl-payment-card h3{
  font-size:var(--fs-4);
}

.rpl-payment-card p{
  margin-top:var(--space-1);
  color:var(--color-muted);
}

.rpl-payment-note{
  background:var(--color-accent-soft);
  color:#17151d;
}

.rpl-payment-note p{
  color:#353142;
}

.rpl-close{
  padding-block:var(--space-6) var(--space-4);
  background:var(--color-paper);
  color:var(--color-ink);
}

.rpl-close__copy{
  max-width:48rem;
}

.rpl-close__badge{
  background:var(--color-accent-soft);
  color:#17151d;
}

.rpl-close__copy h2{
  margin-top:var(--space-2);
  font-size:var(--fs-5);
  font-weight:700;
}

.rpl-close__copy p{
  margin-top:var(--space-2);
  color:#c7c1cb;
}

.rpl-close__actions{
  display:flex;
  min-width:min(100%,16rem);
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
}

.rpl-close__actions .c-btn--ghost{
  color:#f9f4ee;
  border-color:color-mix(in srgb,#f9f4ee 45%,transparent);
}

@media(max-width:48rem){
  .rpl-hero{
    padding-block:var(--space-5);
  }

  .rpl-hero__grid{
    grid-template-columns:1fr;
    gap:var(--space-4);
  }

  .rpl-title-group h1{
    max-width:none;
  }

  .rpl-price-card__summary,
  .rpl-spec-plate{
    grid-template-columns:1fr;
  }

  .rpl-spec-plate__rail{
    min-height:12rem;
  }

  .rpl-spec-plate__grid{
    padding-inline:var(--space-2);
  }

  .rpl-invoice__context{
    grid-template-columns:1fr;
    gap:var(--space-2);
  }
}

@media(max-width:24.375rem){
  .rpl-hero{
    padding-block:var(--space-4);
  }

  .rpl-hero__actions,
  .rpl-region-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .rpl-hero__actions .c-btn,
  .rpl-region-actions .c-btn{
    width:100%;
    white-space:normal;
  }

  .rpl-hero__facts{
    grid-template-columns:1fr;
  }

  .rpl-hero__facts div,
  .rpl-hero__facts div:first-child{
    padding:var(--space-2) 0;
    border-bottom:1px solid var(--line-paper);
  }

  .rpl-docket__head{
    align-items:flex-start;
    flex-direction:column;
  }

  .rpl-docket__rows div{
    grid-template-columns:1fr;
    gap:var(--space-1);
  }

  .rpl-docket__total{
    grid-template-columns:1fr;
  }

  .rpl-docket__total small{
    grid-column:auto;
  }

  .rpl-addon-prices{
    grid-template-columns:1fr;
  }

  .rpl-addon-card__head{
    flex-direction:column;
  }

  .rpl-invoice__head,
  .rpl-invoice__lines > div,
  .rpl-invoice__formula{
    align-items:flex-start;
    flex-direction:column;
    grid-template-columns:1fr;
  }

  .rpl-invoice__formula{
    display:flex;
  }

  .rpl-close__actions{
    width:100%;
  }

  .rpl-close__actions .c-btn{
    width:100%;
    white-space:normal;
  }
}
