.plans-hero{
  padding-block:var(--hero-pad);
  background:#f7f7f5;
  color:#19151b
}

.plans-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,32rem);
  gap:var(--space-9);
  align-items:start
}

.plans-hero-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start
}

.plans-hero-copy .c-kicker{
  margin-bottom:var(--space-4)
}

.plans-hero-copy h1{
  max-width:17ch
}

.plans-hero-lead{
  max-width:42rem;
  margin-top:var(--space-5);
  color:#403a41;
  font-size:var(--text-lg)
}

.plans-hero-note{
  max-width:42rem;
  margin-top:var(--space-4);
  color:#5f565f
}

.plans-hero-note strong{
  color:#59155f
}

.plans-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
  justify-content:flex-start;
  margin-top:var(--space-5)
}

.plans-stage{
  width:100%;
  max-width:none;
  min-width:0;
  height:auto;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#19151b;
  color:#fff;
  box-shadow:var(--shadow-soft)
}

.plans-stage-head{
  padding:var(--space-5) var(--space-6);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-4);
  background:#59155f;
  color:#fff
}

.plans-stage-head>div{
  min-width:0
}

.plans-stage-head strong{
  display:block;
  margin-top:var(--space-2);
  font-family:var(--font-heading);
  font-size:var(--text-h3);
  line-height:var(--leading-heading);
  overflow-wrap:anywhere
}

.plans-stage-label{
  display:block;
  color:#eaddec;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1.4;
  letter-spacing:.06em
}

.plans-stage-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:999px;
  background:#f4f1e8;
  color:#29231d;
  font-size:var(--text-xs);
  line-height:1;
  font-weight:700
}

.plans-stage-model{
  padding:var(--space-6);
  background:#19151b;
  color:#fff
}

.plans-stage-model span{
  display:block;
  color:#b8b1b9;
  font-size:var(--text-sm)
}

.plans-stage-model strong{
  display:block;
  margin-top:var(--space-2);
  font-family:var(--font-heading);
  font-size:clamp(1.65rem,4vw,2.25rem);
  line-height:var(--leading-heading)
}

.plans-stage-model small{
  display:block;
  margin-top:var(--space-2);
  color:#d9d4d9;
  font-family:var(--font-mono)
}

.plans-stage-periods{
  padding-inline:var(--space-6);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-2)
}

.plans-stage-periods>div{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-sm);
  background:#2a242b;
  color:#fff
}

.plans-stage-periods span{
  display:block;
  color:#b8b1b9;
  font-size:var(--text-xs)
}

.plans-stage-periods strong{
  display:block;
  margin-top:var(--space-2);
  font-family:var(--font-mono);
  font-size:var(--text-lg);
  line-height:1.25;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere
}

.plans-stage-register{
  margin:0;
  padding:var(--space-6)
}

.plans-stage-register>div{
  display:grid;
  grid-template-columns:minmax(6rem,8rem) minmax(0,1fr);
  gap:var(--space-3);
  padding-block:var(--space-3);
  border-top:1px solid rgba(255,255,255,.13)
}

.plans-stage-register dt,
.plans-stage-register dd{
  min-width:0;
  overflow-wrap:anywhere
}

.plans-stage-register dt{
  color:#b8b1b9;
  font-size:var(--text-sm)
}

.plans-stage-register dd{
  color:#fff;
  font-size:var(--text-sm)
}

.plans-section-head{
  max-width:48rem;
  margin-bottom:var(--space-8)
}

.plans-section-head .c-kicker{
  margin-bottom:var(--space-4)
}

.plans-section-head p{
  margin-top:var(--space-4);
  color:inherit;
  opacity:.78;
  font-size:var(--text-lg)
}

.plans-price-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch
}

.plans-price-grid .c-price-card{
  min-width:0;
  padding:var(--space-6);
  align-items:stretch
}

.plans-price-grid .c-price-card__head{
  align-items:flex-start
}

.plans-price-grid .c-price-card__head>div{
  min-width:0
}

.plans-price-grid .c-price-card__head .c-badge{
  margin-bottom:var(--space-4)
}

.plans-price-grid .c-price-card h3{
  font-size:var(--text-h3)
}

.plans-plan-code{
  max-width:9rem;
  color:inherit;
  font-size:var(--text-xs);
  line-height:1.4;
  text-align:right;
  overflow-wrap:anywhere;
  opacity:.7
}

.plans-model-name{
  margin-top:var(--space-3);
  font-size:var(--text-sm);
  font-weight:700;
  opacity:.75
}

.plans-spec-grid{
  width:100%;
  margin:var(--space-6) 0 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0
}

.plans-spec-grid>div{
  min-width:0;
  padding:var(--space-3) var(--space-2);
  border-top:1px solid rgba(25,21,27,.12);
  border-bottom:1px solid rgba(25,21,27,.12)
}

.plans-spec-grid dt{
  min-width:0;
  color:inherit;
  font-size:var(--text-xs);
  overflow-wrap:anywhere;
  hyphens:auto;
  opacity:.68
}

.plans-spec-grid dd{
  margin-top:var(--space-2);
  color:inherit;
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere
}

.plans-plan-copy{
  margin-block:var(--space-5);
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:var(--space-3)
}

.plans-plan-copy h4{
  font-size:var(--text-base)
}

.plans-plan-copy p{
  margin:0;
  color:inherit;
  font-size:var(--text-sm);
  opacity:.78
}

.plans-price-grid .c-price-card .c-btn{
  margin-top:var(--space-4)
}

.plans-comparison{
  background:#eaf1f3;
  color:#19292e
}

.plans-table-scroll{
  border-radius:var(--radius-md);
  background:#fff;
  color:#19151b
}

.plans-table{
  min-width:72rem;
  background:#fff;
  color:#19151b
}

.plans-table caption,
.plans-region-table caption{
  padding:var(--space-4);
  background:#fff;
  color:#5f565f;
  font-size:var(--text-sm);
  text-align:left
}

.plans-table th,
.plans-table td{
  text-align:left
}

.plans-table th:first-child,
.plans-table td:first-child{
  width:12rem;
  min-width:12rem
}

.plans-table td:last-child{
  min-width:15rem;
  font-family:var(--font-body)
}

.plans-comparison-note{
  margin-top:var(--space-5)
}

.plans-addon-grid{
  align-items:stretch
}

.plans-addon-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  padding:var(--space-6)
}

.plans-addon-head .c-badge{
  margin-bottom:var(--space-4)
}

.plans-addon-head h3{
  font-size:var(--text-h3)
}

.plans-addon-card>p{
  margin-top:var(--space-3);
  color:inherit;
  opacity:.78
}

.plans-period-grid{
  width:100%;
  margin-top:var(--space-4);
  padding-top:var(--space-5);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3)
}

.plans-period-grid>div{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-sm);
  background:#fff;
  color:#19151b
}

.plans-period-grid span{
  display:block;
  color:#5f565f;
  font-size:var(--text-xs)
}

.plans-period-grid strong{
  display:block;
  margin-top:var(--space-2);
  color:#19151b;
  font-family:var(--font-mono);
  font-size:var(--text-lg);
  line-height:1.25;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere
}

.plans-regions{
  background:#f7f7f5;
  color:#19151b
}

.plans-region-table{
  min-width:64rem;
  background:#fff;
  color:#19151b
}

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

.plans-region-table th:first-child{
  width:13rem;
  min-width:13rem
}

.plans-region-table td{
  vertical-align:middle
}

.plans-region-table .c-badge{
  margin-inline:auto
}

.plans-region-facts{
  margin-top:var(--space-6);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4)
}

.plans-region-facts>div{
  min-width:0;
  padding:var(--space-6);
  border-radius:var(--radius-md);
  background:#fff;
  color:#19151b
}

.plans-region-facts span{
  display:block;
  color:#59155f;
  font-size:clamp(2rem,7cqi,3rem);
  line-height:1;
  font-weight:700;
  overflow-wrap:anywhere
}

.plans-region-facts strong{
  display:block;
  margin-top:var(--space-3);
  font-size:var(--text-base)
}

.plans-region-facts p{
  margin-top:var(--space-2);
  color:#5f565f;
  font-size:var(--text-sm)
}

.plans-checklist-section{
  background:#f4f1e8;
  color:#29231d
}

.plans-checklist{
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  color:#19151b
}

.plans-check-row{
  display:grid;
  grid-template-columns:2.5rem minmax(7.5rem,11rem) minmax(0,1fr);
  gap:var(--space-3);
  align-items:start;
  padding:var(--space-5) var(--space-6);
  border-top:1px solid #e8e6e7
}

.plans-check-row:first-child{
  border-top:0
}

.plans-check-number{
  position:relative;
  z-index:1;
  width:2.25rem;
  height:2.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#59155f;
  color:#fff;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1;
  font-weight:700
}

.plans-check-row strong{
  min-width:0;
  padding-top:.3rem;
  font-size:var(--text-base);
  line-height:var(--leading-heading);
  overflow-wrap:anywhere
}

.plans-check-row p{
  min-width:0;
  color:#5f565f;
  font-size:var(--text-sm);
  overflow-wrap:anywhere
}

.plans-settlement{
  background:#fff;
  color:#19151b
}

.plans-closing{
  padding-inline:var(--space-8)
}

.plans-closing-kicker{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:.4em .9em;
  border-radius:999px;
  background:#f4f1e8;
  color:#29231d;
  font-size:var(--text-xs);
  line-height:1;
  font-weight:700
}

.plans-closing h2{
  margin-top:var(--space-4);
  max-width:39rem;
  color:#fff
}

.plans-closing p{
  max-width:45rem;
  color:#b8b1b9
}

.plans-closing-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-3)
}

@media(max-width:64rem){
  .plans-hero-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,26rem);
    gap:var(--space-6)
  }

  .plans-price-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .plans-price-grid .c-price-card:last-child{
    grid-column:1/-1
  }

  .plans-addon-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .plans-addon-card:last-child{
    grid-column:1/-1
  }
}

@media(max-width:42rem){
  .plans-hero-layout{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-7)
  }

  .plans-hero-copy h1{
    max-width:none
  }

  .plans-stage{
    width:min(calc(100% - var(--gutter)*2),100%);
    height:auto;
    margin-inline:auto;
    overflow:hidden;
    transform:none
  }

  .plans-stage-periods{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .plans-stage-register>div{
    grid-template-columns:minmax(0,1fr)
  }

  .plans-price-grid,
  .plans-addon-grid,
  .plans-region-facts{
    grid-template-columns:minmax(0,1fr)
  }

  .plans-price-grid .c-price-card:last-child,
  .plans-addon-card:last-child{
    grid-column:auto
  }

  .plans-price-grid .c-price-card,
  .plans-addon-card,
  .plans-region-facts>div{
    padding-inline:var(--space-5)
  }

  .plans-spec-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .plans-check-row{
    grid-template-columns:2.25rem minmax(0,1fr);
    padding-inline:var(--space-5)
  }

  .plans-check-row>:nth-child(3){
    grid-column:2
  }

  .plans-closing{
    padding-inline:var(--space-6)
  }
}

@media(max-width:24.375rem){
  .plans-stage-head{
    flex-direction:column
  }

  .plans-price-grid .c-price-card__head{
    flex-direction:column
  }

  .plans-plan-code{
    max-width:none;
    text-align:left
  }

  .plans-spec-grid{
    grid-template-columns:minmax(0,1fr)
  }
}
