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

.plans-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:center;
  gap:var(--space-5);
}

.plans-hero__copy{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.plans-hero__copy .page-kicker,
.payment-panel__copy .page-kicker{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
}

.plans-hero__copy h1{
  max-width:min(36rem,100%);
  min-width:0;
  overflow-wrap:anywhere;
  margin:0;
}

.plans-hero__copy h1 em{
  color:var(--color-primary);
  font-style:normal;
}

.plans-hero__lead{
  max-width:42rem;
  margin:0;
  color:var(--color-muted);
  font-size:var(--text-lg);
}

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

.plans-hero__fact{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding-inline:var(--space-2);
}

.plans-hero__fact + .plans-hero__fact{
  border-left:1px solid var(--color-line);
}

.plans-hero__fact:first-child{
  padding-left:0;
}

.plans-hero__fact strong{
  color:var(--color-ink);
  font-family:var(--font-mono);
  font-size:var(--text-xl);
  font-variant-numeric:tabular-nums;
}

.plans-hero__fact span{
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.plans-hero__actions{
  justify-content:flex-start;
  margin-top:var(--space-2);
}

.plans-hero__plate{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-float);
}

.plans-hero__plate-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
}

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

.plans-hero__plate-head span{
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  letter-spacing:.08em;
}

.plans-hero__plate-head strong{
  font-family:var(--font-heading);
  font-size:var(--text-xl);
}

.plans-hero__plate-body{
  display:grid;
  padding:var(--space-2) var(--space-3);
  background:var(--color-surface);
  color:var(--color-ink);
}

.plans-hero__plate-row{
  display:grid;
  grid-template-columns:minmax(max-content,auto) minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-bottom:1px solid var(--color-line);
}

.plans-hero__plate-row:last-child{
  border-bottom:0;
}

.plans-hero__plate-row span{
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.plans-hero__plate-row strong{
  min-width:0;
  color:var(--color-ink);
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.plans-hero__plate-foot{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:var(--space-2) var(--space-3);
  background:var(--color-dark);
  color:var(--color-surface);
  font-size:var(--text-sm);
}

.plans-hero__plate-foot svg{
  width:1.25rem;
  height:1.25rem;
  flex:0 0 auto;
  color:var(--color-accent);
}

.page-section__head{
  display:grid;
  gap:.5rem;
  max-width:52rem;
  margin-bottom:var(--space-4);
}

.page-section__head .page-kicker{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
}

.page-section__head h2,
.page-section__head p{
  margin:0;
}

.page-section__head p{
  color:var(--color-muted);
  font-size:var(--text-lg);
}

.plan-card-grid{
  align-items:start;
}

.plan-card{
  display:grid;
  gap:.5rem;
}

.plan-card h3,
.plan-card p{
  margin:0;
}

.plan-card__cycles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-2);
  margin-top:var(--space-2);
}

.plan-card__cycles div{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:var(--color-paper);
  color:var(--color-ink);
}

.plan-card__cycles span{
  color:var(--color-muted);
  font-size:var(--text-xs);
}

.plan-card__cycles strong{
  color:var(--color-ink);
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.plan-card__action{
  width:100%;
  margin-top:var(--space-2);
}

.plan-compare,
.availability-table,
.addons-table{
  margin-top:var(--space-4);
  box-shadow:var(--shadow-card);
}

.plan-compare caption,
.availability-table caption,
.addons-table caption{
  padding:var(--space-2) var(--space-3);
  background:var(--color-dark);
  color:var(--color-surface);
  font-weight:750;
  text-align:left;
}

.region-guidance{
  margin-top:var(--space-4);
  align-items:start;
}

.region-guidance__item{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-primary-pale);
  color:var(--color-ink);
}

.region-guidance__item strong{
  color:var(--color-primary-dark);
  font-family:var(--font-heading);
  font-size:var(--text-lg);
}

.region-guidance__item span{
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.addons-notice{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  margin-top:var(--space-3);
}

.addons-notice span{
  min-width:0;
  color:var(--color-ink);
}

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

.billing-sheet{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
}

.billing-sheet__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:var(--color-primary);
  color:var(--color-surface);
}

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

.billing-sheet__head span{
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  letter-spacing:.08em;
}

.billing-sheet__head strong{
  color:var(--color-surface);
  font-family:var(--font-heading);
  font-size:var(--text-xl);
}

.billing-sheet__currency{
  flex:0 0 auto;
  padding:.3rem .65rem;
  border-radius:999px;
  background:var(--color-surface);
  color:var(--color-primary-dark);
  font-weight:800;
}

.billing-sheet__body{
  display:grid;
  padding:var(--space-2) var(--space-3);
  background:var(--color-surface);
  color:var(--color-ink);
}

.billing-sheet__line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-bottom:1px solid var(--color-line);
}

.billing-sheet__line:last-child{
  border-bottom:0;
}

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

.billing-sheet__line span{
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.billing-sheet__line > strong{
  color:var(--color-ink);
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}

.billing-sheet__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
}

.billing-sheet__total span{
  font-weight:750;
}

.billing-sheet__total strong{
  color:var(--color-primary-dark);
  font-family:var(--font-mono);
  font-size:var(--text-2xl);
  font-variant-numeric:tabular-nums;
}

.billing-notes{
  display:grid;
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:var(--space-2);
  min-width:0;
}

.billing-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:var(--color-paper);
  color:var(--color-ink);
}

.billing-note > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:999px;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-weight:800;
}

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

.billing-note h3,
.billing-note p{
  margin:0;
}

.billing-note h3{
  color:var(--color-ink);
  font-size:var(--text-md);
}

.billing-note p{
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.order-checklist{
  margin:0;
  padding:0;
  list-style:none;
  align-items:start;
}

.order-checklist__item{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
}

.order-checklist__number{
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  align-items:center;
  justify-content:center;
  min-width:2.25rem;
  min-height:2.25rem;
  padding-inline:.5rem;
  border-radius:999px;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-weight:800;
}

.order-checklist__item h3,
.order-checklist__item p{
  margin:0;
}

.order-checklist__item h3{
  color:var(--color-ink);
}

.order-checklist__item p{
  color:var(--color-muted);
}

.payment-section{
  background:var(--color-primary);
  color:var(--color-surface);
}

.payment-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
  align-items:center;
  gap:var(--space-4);
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-primary-dark);
  color:var(--color-surface);
}

.payment-panel__copy{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.payment-panel__copy .page-kicker{
  background:var(--color-surface);
  color:var(--color-primary-dark);
}

.payment-panel__copy h2,
.payment-panel__copy p{
  margin:0;
}

.payment-panel__copy h2{
  color:var(--color-surface);
}

.payment-panel__copy p{
  color:var(--color-primary-soft);
}

.payment-panel__methods{
  display:grid;
  gap:var(--space-2);
  min-width:0;
}

.payment-panel__methods div{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-primary-dark);
}

.payment-panel__methods svg{
  width:1.5rem;
  height:1.5rem;
  flex:0 0 auto;
  color:var(--color-primary);
}

.payment-panel__methods span{
  min-width:0;
  font-family:var(--font-mono);
  font-weight:750;
  overflow-wrap:anywhere;
}

.plans-end-cta > div:first-child{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.plans-end-cta h2,
.plans-end-cta p{
  margin:0;
}

.plans-end-cta__actions{
  display:grid;
  gap:.75rem;
  min-width:max-content;
}

@media (max-width:768px){
  .plans-hero__grid,
  .billing-layout,
  .payment-panel{
    grid-template-columns:1fr;
  }

  .plans-hero__copy h1{
    max-width:14ch;
  }

  .plans-hero__plate{
    max-width:100%;
  }

  .plan-card__cycles{
    grid-template-columns:1fr;
  }

  .billing-notes{
    grid-template-rows:none;
  }

  .plans-end-cta__actions{
    min-width:0;
  }
}

@media (max-width:390px){
  .plans-hero{
    padding-block:var(--space-4);
  }

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

  .plans-hero__fact{
    padding-inline:0;
  }

  .plans-hero__fact + .plans-hero__fact{
    padding-top:var(--space-2);
    border-top:1px solid var(--color-line);
    border-left:0;
  }

  .plans-hero__plate-head,
  .billing-sheet__head,
  .billing-sheet__total{
    align-items:flex-start;
    flex-direction:column;
  }

  .plans-hero__plate-row{
    grid-template-columns:1fr;
    gap:.5rem;
  }

  .addons-notice{
    flex-direction:column;
  }

  .billing-sheet__line{
    grid-template-columns:1fr;
    gap:.5rem;
  }

  .billing-note{
    grid-template-columns:1fr;
  }

  .payment-panel,
  .c-card,
  .c-price{
    padding:var(--space-3);
  }

  .plans-hero__actions .c-btn,
  .plans-end-cta__actions .c-btn{
    width:100%;
  }
}
