.pricing-intro {
  position:relative;
  isolation:isolate;
  padding-top:56px;
  padding-bottom:56px;
  background:linear-gradient(180deg,var(--bg-hero-top),var(--bg-hero-bottom));
}
.pricing-intro__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:48px;
}
.pricing-kicker {
  margin-bottom:16px;
  color:var(--muted);
  font-size:var(--text-sm);
}
.pricing-title {
  font-size:var(--text-hero);
  font-weight:var(--weight-display);
  line-height:1.15;
  letter-spacing:-.02em;
}
.pricing-title > span {
  display:block;
}
.pricing-title__accent {
  color:var(--accent);
}
.pricing-intro__aside {
  display:grid;
  gap:24px;
}
.pricing-panel-head {
  display:grid;
  gap:14px;
  max-width:var(--reading);
  margin-bottom:36px;
}
.pricing-card-copy {
  color:var(--muted);
  font-size:var(--text-nav);
  line-height:1.85;
}
.pricing-included {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.pricing-included h3 {
  margin-bottom:18px;
}
.pricing-included .panel > p:last-child {
  color:var(--muted);
  font-size:var(--text-nav);
  line-height:1.85;
}
.pricing-included a,
.pricing-notes a,
.pricing-refund a:not(.btn),
#billing-faq-title + p a {
  text-decoration:underline;
  text-underline-offset:4px;
}
.pricing-notes {
  max-width:var(--reading);
  margin-top:32px;
}
.pricing-notes > h3:first-child {
  margin-top:0;
}
.pricing-payments {
  padding-top:28px;
  padding-bottom:28px;
  margin-bottom:32px;
}
.pricing-process {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.pricing-process h3 {
  margin-bottom:16px;
}
.pricing-process p {
  color:var(--muted);
  font-size:var(--text-nav);
  line-height:1.85;
}
.pricing-refund {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  gap:40px;
}
.pricing-refund .stack > p {
  color:var(--muted);
  line-height:1.85;
}
@media (max-width:1024px) {
  .pricing-title {
    font-size:var(--text-hero-tablet);
  }
  .pricing-intro__grid {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }
  .pricing-included {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pricing-process {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:768px) {
  .pricing-intro {
    padding-top:36px;
    padding-bottom:36px;
  }
  .pricing-title {
    font-size:var(--text-hero-mobile);
  }
  .pricing-refund {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
}
@media (max-width:640px) {
  .pricing-included {
    grid-template-columns:minmax(0,1fr);
  }
  .pricing-intro__aside {
    gap:20px;
  }
}