.pricing-opening{
  padding-top:56px;
  padding-bottom:56px;
  background:linear-gradient(180deg,var(--hero-top),var(--hero-bottom));
  border-bottom:1px solid var(--border);
}
.pricing-opening__grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  align-items:center;
  gap:64px;
}
.pricing-opening h1{margin:24px 0}
.pricing-opening__lead{
  max-width:36em;
  font-size:18px;
  line-height:1.8;
  color:var(--text-muted);
}
.pricing-opening__note{
  max-width:44em;
  margin-top:24px;
  font-size:var(--size-small);
  line-height:1.8;
  color:var(--text-muted);
}
.pricing-slip{
  border:1px solid var(--hl-top);
  box-shadow:var(--shadow-float);
}
.pricing-slip__bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding-bottom:20px;
  border-bottom:1px solid var(--border);
  font-weight:700;
}
.pricing-slip__bar .chip{margin-left:auto}
.pricing-slip dl{margin:12px 0 20px}
.pricing-slip dl > div{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:16px;
  padding-block:14px;
  border-bottom:1px solid var(--border-soft);
}
.pricing-slip dt{
  color:var(--text-muted);
  font-size:var(--size-small);
}
.pricing-slip dd{margin:0;font-weight:600}
.pricing-slip > p{
  color:var(--text-muted);
  font-size:var(--size-small);
  line-height:1.8;
}
.pricing-overview{padding-bottom:24px}
.pricing-summary{
  margin-bottom:24px;
  max-width:65em;
  color:var(--text);
  font-size:18px;
  line-height:1.8;
}
.pricing-caption{
  margin-top:24px;
  max-width:80ch;
  color:var(--text-muted);
  font-size:var(--size-small);
  line-height:1.9;
}
.pricing-section-lead{
  max-width:80ch;
  margin-bottom:28px;
  color:var(--text-muted);
  line-height:1.9;
}
.pricing-selection .tab-list{width:max-content}
.pricing-selection .tab-panel > h3{margin-top:12px}
.pricing-card-copy{line-height:1.85}
.pricing-card-limit{
  font-size:var(--size-small);
  line-height:1.85;
  color:var(--text-muted);
  padding-top:16px;
  border-top:1px solid var(--border);
}
.pricing-boundary{margin-top:24px}
.pricing-boundary h3{margin-top:0}
.pricing-boundary p{
  max-width:94ch;
  line-height:1.9;
  color:var(--text-muted);
}
.pricing-boundary p + p{margin-top:16px}
.pricing-payment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.pricing-payment-grid h3{margin-top:0}
.pricing-payment-grid p{
  color:var(--text-muted);
  line-height:1.9;
}
.pricing-payment-grid p + p{margin-top:20px}
.pricing-payment-methods{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.pricing-refund{
  display:flex;
  align-items:flex-start;
  gap:24px;
  border:1px solid var(--accent);
}
.pricing-refund > .badge{
  width:48px;
  height:48px;
  border-radius:var(--r-icon);
}
.pricing-refund h3{margin-top:0}
.pricing-refund p{
  max-width:90ch;
  color:var(--text-muted);
  line-height:1.9;
}
.pricing-refund p + p{margin-top:20px}
.pricing-faq{max-width:1100px}
@media(max-width:1080px){
  .pricing-opening__grid{gap:32px}
  .pricing-selection .plan-card{padding:24px}
  .pricing-selection .plan-card__price{font-size:34px}
}
@media(max-width:768px){
  .pricing-opening{padding-top:32px;padding-bottom:40px}
  .pricing-opening__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .pricing-opening__lead{font-size:17px}
  .pricing-opening h1{font-size:38px}
  .pricing-payment-grid{grid-template-columns:minmax(0,1fr)}
  .pricing-refund{flex-direction:column;gap:20px}
  .pricing-summary{font-size:16px}
}
@media(max-width:360px){
  .pricing-opening .cta-row{align-items:stretch;flex-direction:column}
  .pricing-slip dl > div{grid-template-columns:58px minmax(0,1fr);gap:10px}
}