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

.pp-breadcrumb{
  margin-bottom:var(--space-4)
}

.pp-hero .hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
  gap:var(--space-5)
}

.pp-hero-copy{
  display:grid;
  gap:var(--space-4);
  min-width:0
}

.pp-title-group{
  display:grid;
  gap:var(--space-3)
}

.pp-title-group h1{
  max-width:min(36rem,100%)
}

.pp-title-group p{
  max-width:62ch;
  color:var(--c-ink-soft);
  font-size:var(--fs-3)
}

.pp-hero-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-width:0;
  padding-block:var(--space-2);
  border-block:1px solid var(--c-line)
}

.pp-hero-facts div{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding-inline:var(--space-2)
}

.pp-hero-facts div:first-child{
  padding-left:0
}

.pp-hero-facts div+div{
  border-left:1px solid var(--c-line)
}

.pp-hero-facts strong{
  color:var(--c-ink);
  font-size:var(--fs-3);
  line-height:1.2
}

.pp-hero-facts span{
  color:var(--c-muted);
  font-size:var(--fs-1);
  line-height:1.4
}

.pp-hero-actions{
  justify-content:flex-start;
  margin-block:var(--space-3)
}

.pp-run-sheet{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  color:var(--c-ink);
  background:var(--c-white);
  box-shadow:var(--shadow-raised)
}

.pp-run-sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  color:#eef7ee;
  background:var(--c-dark)
}

.pp-run-sheet-title{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.pp-run-sheet-title span{
  color:#aac0b0;
  font-size:var(--fs-0);
  font-weight:650;
  letter-spacing:.06em
}

.pp-run-sheet-title strong{
  color:#f2f8ef;
  overflow-wrap:anywhere
}

.pp-sheet-state{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  width:fit-content;
  max-width:100%;
  flex:0 0 auto;
  color:#eef7ee;
  font-size:var(--fs-1)
}

.pp-run-sheet-body{
  display:grid;
  gap:0;
  padding:var(--space-2) var(--space-3) var(--space-3);
  color:var(--c-ink);
  background:var(--c-white)
}

.pp-sheet-row{
  display:grid;
  grid-template-columns:minmax(max-content,.62fr) minmax(0,1fr);
  gap:var(--space-2);
  align-items:center;
  padding-block:var(--space-2);
  border-bottom:1px solid var(--c-line)
}

.pp-sheet-row span,
.pp-node-line>span{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.pp-sheet-row strong{
  color:var(--c-ink);
  text-align:right
}

.pp-node-line{
  display:grid;
  grid-template-columns:minmax(max-content,.62fr) minmax(0,1fr);
  gap:var(--space-2);
  align-items:start;
  padding-block:var(--space-2)
}

.pp-node-line p{
  color:var(--c-ink-soft);
  text-align:right
}

.pp-sheet-progress{
  display:grid;
  gap:var(--space-1);
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--c-ink);
  background:var(--c-surface)
}

.pp-sheet-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:var(--space-2);
  color:var(--c-ink)
}

.pp-sheet-progress-copy span{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.pp-sheet-progress-copy strong{
  color:var(--c-ink);
  font-size:var(--fs-1)
}

.pp-progress-track{
  height:.5rem;
  overflow:hidden;
  border-radius:999px;
  background:var(--c-mint)
}

.pp-progress-track span{
  display:block;
  width:72%;
  height:100%;
  border-radius:inherit;
  background:var(--c-primary)
}

.pp-data-band{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:var(--space-5);
  overflow:hidden;
  border-radius:var(--radius-md);
  color:#eef7ee;
  background:var(--c-dark)
}

.pp-data-band .data-band-item{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-3)
}

.pp-data-band .data-band-item+.data-band-item{
  border-left:1px solid var(--c-line-light)
}

.pp-data-band .data-band-value{
  flex:0 0 auto;
  color:var(--c-accent);
  font:600 var(--fs-5)/1 var(--font-mono);
  font-variant-numeric:tabular-nums
}

.pp-data-band .data-band-copy{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.pp-data-band .data-band-copy strong{
  color:#f2f8ef
}

.pp-data-band .data-band-copy span{
  color:#aac0b0;
  font-size:var(--fs-1)
}

.pp-heading-group{
  display:grid;
  gap:var(--space-1)
}

.pp-heading-group .eyebrow{
  margin-bottom:0
}

.pp-plan-grid{
  align-items:start
}

.pp-plan{
  display:grid;
  gap:var(--space-3);
  min-width:0
}

.pp-plan-featured{
  color:#f2f8ef;
  background:var(--c-dark-2);
  border-color:var(--c-dark-2);
  box-shadow:var(--shadow-raised)
}

.pp-plan-featured h3,
.pp-plan-featured dt,
.pp-plan-featured dd,
.pp-plan-featured strong{
  color:#f2f8ef
}

.pp-plan-featured p,
.pp-plan-featured li,
.pp-plan-featured .pp-entry-price span,
.pp-plan-featured .pp-entry-price small{
  color:#b6c8ba
}

.pp-plan-featured .c-price-row strong{
  color:#1e3226
}

.pp-plan-featured .c-badge{
  color:#183e25;
  background:var(--c-accent)
}

.pp-plan-top{
  display:grid;
  gap:var(--space-2)
}

.pp-plan-name{
  display:grid;
  gap:var(--space-1)
}

.pp-plan-name p{
  color:var(--c-muted)
}

.pp-spec-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-1)
}

.pp-spec-grid div{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:var(--c-ink);
  background:var(--c-surface)
}

.pp-plan-featured .pp-spec-grid div{
  color:#eef7ee;
  background:var(--c-dark)
}

.pp-spec-grid dt{
  color:var(--c-muted);
  font-size:var(--fs-0)
}

.pp-plan-featured .pp-spec-grid dt{
  color:#aac0b0
}

.pp-spec-grid dd{
  color:var(--c-ink);
  font-weight:650
}

.pp-entry-price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:var(--space-1)
}

.pp-entry-price span{
  width:100%;
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.pp-entry-price strong{
  color:var(--c-ink);
  font:500 clamp(2.25rem,5vw,3.2rem)/1 var(--font-mono);
  letter-spacing:-.07em
}

.pp-entry-price small{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.pp-plan-featured .pp-plan-name p,
.pp-plan-featured .pp-spec-grid dd,
.pp-plan-featured .pp-entry-price strong{
  color:#f2f8ef
}

.pp-plan-use{
  display:grid;
  gap:var(--space-1);
  padding-left:1.2rem;
  color:var(--c-ink-soft)
}

.pp-plan-action{
  width:100%
}

.pp-plan-note{
  margin-top:var(--space-3)
}

.pp-table-shell{
  color:var(--c-ink);
  background:var(--c-white);
  box-shadow:var(--shadow-soft)
}

.pp-price-table{
  min-width:850px
}

.pp-price-table caption,
.pp-compare-table caption,
.pp-stock-table caption{
  padding:var(--space-2) var(--space-3);
  color:var(--c-ink-soft);
  background:var(--c-white);
  font-size:var(--fs-1);
  text-align:left
}

.pp-price-table th[scope="row"]{
  color:var(--c-ink);
  background:var(--c-white)
}

.pp-price-table td:nth-child(n+3){
  white-space:nowrap
}

.pp-addon-guidance{
  margin-top:var(--space-3)
}

.pp-addon-guidance .c-card{
  display:flex;
  flex-direction:column;
  gap:var(--space-1)
}

.pp-icon-title{
  display:flex;
  align-items:center;
  gap:var(--space-1);
  min-width:0
}

.pp-icon-title svg{
  flex:0 0 auto
}

.pp-icon-title h3{
  min-width:0;
  overflow-wrap:anywhere
}

.pp-compare-table{
  min-width:980px
}

.pp-compare-table th,
.pp-compare-table td{
  min-width:210px
}

.pp-compare-table th:first-child,
.pp-compare-table td:first-child{
  min-width:150px
}

.pp-compare-table thead .is-highlight,
.pp-compare-table tbody .is-highlight{
  background:var(--c-mint);
  color:#183e25
}

.pp-stock-table{
  min-width:920px
}

.pp-stock-table th:not(:first-child),
.pp-stock-table td{
  text-align:center
}

.pp-stock-model{
  display:block;
  color:var(--c-ink);
  font-weight:650
}

.pp-stock-table th small{
  display:block;
  margin-top:var(--space-1);
  color:var(--c-muted);
  font-weight:400
}

.pp-stock-ok{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-1);
  width:fit-content;
  max-width:100%;
  color:var(--c-primary-hover);
  font-weight:650;
  white-space:nowrap
}

.pp-region-actions{
  margin-top:var(--space-3)
}

.pp-cycle-panel{
  display:grid;
  gap:var(--space-3);
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-md);
  color:#eef7ee;
  background:var(--c-dark)
}

.pp-panel-heading{
  display:grid;
  gap:var(--space-2)
}

.pp-panel-heading .c-badge{
  color:#183e25;
  background:var(--c-accent)
}

.pp-panel-title{
  display:grid;
  gap:var(--space-1)
}

.pp-panel-title h3{
  color:#f2f8ef
}

.pp-panel-title p{
  color:#aac0b0
}

.pp-cycle-list{
  display:grid;
  gap:var(--space-1)
}

.pp-cycle-item{
  display:grid;
  grid-template-columns:minmax(max-content,.24fr) minmax(0,1fr);
  gap:var(--space-2);
  align-items:start;
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  color:#eef7ee;
  background:var(--c-dark-2)
}

.pp-cycle-item>span{
  color:var(--c-accent);
  font-size:var(--fs-1);
  font-weight:650
}

.pp-cycle-item div{
  display:grid;
  gap:var(--space-1);
  min-width:0
}

.pp-cycle-item strong{
  color:#f2f8ef
}

.pp-cycle-item p{
  color:#aac0b0;
  font-size:var(--fs-1)
}

.pp-billing-side{
  min-width:0
}

.pp-billing-side .c-card{
  justify-content:space-between
}

.pp-payment-card{
  gap:var(--space-1)
}

.pp-payment-card .pp-icon-title{
  margin-bottom:0
}

.pp-billing-note{
  margin-top:var(--space-3)
}

.pp-order-section{
  color:#eaf4e9;
  background:var(--c-dark)
}

.pp-dark-eyebrow{
  color:var(--c-accent)
}

.pp-order-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-3);
  margin:0;
  padding:0;
  list-style:none
}

.pp-order-steps li{
  display:grid;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:#eef7ee;
  background:var(--c-dark-2)
}

.pp-step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.6rem;
  height:2.6rem;
  border-radius:50%;
  color:var(--c-dark);
  background:var(--c-accent);
  font-size:var(--fs-1);
  font-weight:700
}

.pp-step-copy{
  display:grid;
  gap:var(--space-1)
}

.pp-step-copy h3{
  color:#f2f8ef
}

.pp-step-copy p{
  color:#aac0b0
}

.pp-closing-actions{
  display:grid;
  gap:var(--space-1);
  min-width:min(100%,15rem)
}

.pp-dark-ghost{
  color:#eef7ee;
  border-color:var(--c-line-light)
}

.pp-dark-ghost:hover{
  color:var(--c-dark);
  background:var(--c-accent);
  border-color:var(--c-accent)
}

@media (min-width:1440px){
  .pp-run-sheet-body{
    padding-inline:var(--space-4)
  }

  .pp-order-steps{
    gap:var(--space-4)
  }
}

@media (max-width:980px){
  .pp-hero .hero-layout{
    grid-template-columns:1fr
  }

  .pp-title-group h1{
    max-width:15ch
  }

  .pp-order-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width:768px){
  .pp-hero{
    padding-block:var(--space-4) var(--space-5)
  }

  .pp-breadcrumb{
    margin-bottom:var(--space-3)
  }

  .pp-hero .hero-layout{
    gap:var(--space-4)
  }

  .pp-hero-facts,
  .pp-data-band{
    grid-template-columns:1fr
  }

  .pp-hero-facts div{
    padding:var(--space-2) 0
  }

  .pp-hero-facts div+div{
    border-top:1px solid var(--c-line);
    border-left:0
  }

  .pp-data-band .data-band-item+.data-band-item{
    border-top:1px solid var(--c-line-light);
    border-left:0
  }

  .pp-sheet-row,
  .pp-node-line{
    grid-template-columns:1fr;
    gap:var(--space-1)
  }

  .pp-sheet-row strong,
  .pp-node-line p{
    text-align:left
  }

  .pp-spec-grid{
    grid-template-columns:1fr
  }

  .pp-order-steps{
    grid-template-columns:1fr
  }

  .pp-closing-actions{
    width:100%
  }

  .pp-closing-actions .c-btn{
    width:100%
  }
}

@media (max-width:390px){
  .pp-hero-actions,
  .pp-region-actions{
    display:grid;
    width:100%
  }

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

  .pp-run-sheet-head{
    align-items:flex-start;
    flex-direction:column
  }

  .pp-sheet-progress-copy{
    flex-direction:column;
    gap:var(--space-1)
  }

  .pp-plan{
    padding:var(--space-2)
  }

  .pp-cycle-panel{
    padding:var(--space-3)
  }

  .pp-cycle-item{
    grid-template-columns:1fr
  }
}
