.pricing-hero{
  position:relative;
  overflow-x:clip;
  border-bottom:1px solid var(--color-border);
}

.pricing-hero::before{
  position:absolute;
  inset:0 0 0 auto;
  width:42%;
  background:var(--color-panel-strong);
  content:"";
}

.pricing-hero__grid{
  position:relative;
  display:grid;
  min-height:610px;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  align-items:center;
  gap:clamp(42px,7vw,100px);
  padding-top:72px;
  padding-bottom:72px;
}

.pricing-hero__copy{
  min-width:0;
  padding-right:12px;
}

.pricing-hero__copy h1{
  max-width:760px;
  margin-top:18px;
}

.pricing-hero__lead{
  max-width:700px;
  margin-top:24px;
  color:var(--color-text-muted);
  font-size:18px;
  line-height:1.8;
}

.pricing-hero__copy .button-row{
  margin-top:30px;
}

.pricing-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:30px;
  color:var(--color-text-muted);
  list-style:none;
  font-size:13px;
  font-weight:700;
}

.pricing-trust li{
  position:relative;
  padding-left:15px;
}

.pricing-trust li::before{
  position:absolute;
  top:.72em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-accent);
  content:"";
  transform:translateY(-50%);
}

.pricing-ledger{
  position:relative;
  min-width:0;
  padding:32px;
  border-radius:var(--radius-medium);
  background:var(--color-ink);
  color:var(--color-lane);
  box-shadow:var(--shadow-deep);
}

.pricing-ledger::before{
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle,var(--color-white) 1px,transparent 1.4px);
  background-size:14px 14px;
  opacity:.06;
  pointer-events:none;
  content:"";
}

.pricing-ledger__head{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid var(--color-lane-muted);
  color:var(--color-panel);
  font-size:13px;
  font-weight:800;
}

.pricing-ledger dl{
  position:relative;
  margin:0;
}

.pricing-ledger dl div{
  display:grid;
  grid-template-columns:minmax(90px,.6fr) minmax(0,1.4fr);
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--color-lane-muted);
}

.pricing-ledger dl div:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.pricing-ledger dt{
  color:var(--color-lane-muted);
  font-family:var(--font-mono);
  font-size:11px;
}

.pricing-ledger dd{
  min-width:0;
  margin:0;
  color:var(--color-panel);
  font-weight:700;
  text-align:right;
}

.pricing-tabs .tab-list{
  margin-bottom:10px;
}

.pricing-tabs [role="tabpanel"]{
  padding-top:28px;
}

.plan-kind{
  align-self:flex-start;
  margin-bottom:18px;
}

.plan-card--featured .plan-kind{
  margin-right:92px;
}

.plan-explainer{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--color-border);
}

.plan-explainer strong{
  display:block;
  margin-bottom:8px;
}

.plan-explainer p{
  color:var(--color-text-muted);
  font-size:13px;
  line-height:1.75;
}

.plan-explainer p:last-child{
  margin-bottom:0;
}

.pack-intro{
  max-width:850px;
  margin-bottom:26px;
  padding:20px 22px;
  border-left:4px solid var(--color-accent);
  background:var(--color-panel-strong);
  color:var(--color-text-muted);
}

.pack-intro p{
  margin:0;
}

.pack-card .plan-price{
  margin-bottom:12px;
}

.included-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--color-border);
  border-left:1px solid var(--color-border);
}

.included-item{
  position:relative;
  min-width:0;
  padding:30px 32px 30px 72px;
  border-right:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}

.included-item__index{
  position:absolute;
  top:34px;
  left:30px;
  color:var(--color-accent);
  font-size:12px;
  font-weight:800;
}

.included-item h3{
  margin:0 0 10px;
  font-size:20px;
}

.included-item p{
  margin:0;
  color:var(--color-text-muted);
}

.comparison-table td{
  min-width:132px;
}

.comparison-table td:nth-child(4),
.comparison-table th:nth-child(4){
  min-width:190px;
}

.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(460px,1.25fr);
  align-items:start;
  gap:clamp(40px,8vw,110px);
}

.payment-layout h2{
  margin-top:12px;
}

.payment-panel{
  min-width:0;
  padding:32px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-medium);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}

.payment-methods{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}

.payment-method{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:7px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-small);
  background:var(--color-panel-strong);
  font-weight:800;
}

.payment-steps{
  counter-reset:payment-step;
  list-style:none;
}

.payment-steps li{
  position:relative;
  padding:0 0 24px 48px;
  counter-increment:payment-step;
}

.payment-steps li::before{
  position:absolute;
  top:0;
  left:0;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-small);
  color:var(--color-accent);
  content:counter(payment-step);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
}

.payment-steps li::after{
  position:absolute;
  top:35px;
  bottom:5px;
  left:14px;
  width:1px;
  background:var(--color-border);
  content:"";
}

.payment-steps li:last-child::after{
  display:none;
}

.payment-steps strong{
  display:block;
  margin-bottom:5px;
}

.payment-steps p{
  margin:0;
  color:var(--color-text-muted);
}

.refund-section{
  background:var(--color-ink);
  color:var(--color-lane);
}

.refund-grid{
  display:grid;
  grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(40px,8vw,120px);
}

.refund-mark{
  display:flex;
  min-height:220px;
  align-items:baseline;
  justify-content:center;
  padding:30px;
  border:1px solid var(--color-lane-muted);
  border-radius:var(--radius-medium);
  color:var(--color-panel);
  box-shadow:var(--shadow-deep);
}

.refund-mark__value{
  color:var(--color-accent);
  font-family:var(--font-display);
  font-size:96px;
  font-weight:900;
  line-height:1;
}

.refund-mark__unit{
  margin-left:8px;
  font-size:18px;
  font-weight:800;
}

.refund-copy{
  min-width:0;
}

.refund-copy h2{
  margin-top:12px;
  color:var(--color-panel);
}

.refund-copy .section-kicker{
  color:var(--color-lane);
}

.refund-copy p{
  max-width:830px;
  color:var(--color-lane);
}

@media (max-width:1000px){
  .pricing-hero::before{
    width:36%;
  }

  .pricing-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
    gap:36px;
  }

  .pricing-grid{
    grid-template-columns:1fr;
  }

  .plan-note{
    min-height:0;
  }

  .payment-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .pricing-hero::before{
    display:none;
  }

  .pricing-hero__grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:36px;
    padding-top:54px;
    padding-bottom:54px;
  }

  .pricing-hero__lead{
    font-size:16px;
  }

  .pricing-ledger{
    padding:24px;
  }

  .included-layout{
    grid-template-columns:1fr;
  }

  .refund-grid{
    grid-template-columns:1fr;
  }

  .refund-mark{
    min-height:150px;
  }

  .refund-mark__value{
    font-size:72px;
  }
}

@media (max-width:520px){
  .pricing-trust{
    display:grid;
    grid-template-columns:1fr;
  }

  .pricing-ledger dl div{
    grid-template-columns:1fr;
    gap:5px;
  }

  .pricing-ledger dd{
    text-align:left;
  }

  .included-item{
    padding:26px 22px 26px 56px;
  }

  .included-item__index{
    top:29px;
    left:22px;
  }

  .payment-panel{
    padding:24px 20px;
  }

  .payment-steps li{
    padding-left:42px;
  }

  .payment-method{
    flex:1 1 auto;
    justify-content:center;
  }
}