.pricing-hero{
  position:relative;
  max-width:100%;
  padding-top:clamp(72px,9vw,124px);
  padding-bottom:clamp(68px,8vw,110px);
  border-bottom:1px solid var(--color-border);
  background:
    radial-gradient(520px 380px at 12% 18%,var(--color-glow-green),transparent 72%),
    radial-gradient(620px 440px at 88% 82%,var(--color-glow-sky),transparent 72%),
    linear-gradient(180deg,var(--color-bg-top),var(--color-bg));
  overflow-x:clip;
}
.pricing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(var(--color-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(ellipse at center,var(--color-text),transparent 76%);
  mask-image:radial-gradient(ellipse at center,var(--color-text),transparent 76%);
}
.pricing-hero-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.pricing-kicker{margin-bottom:24px}
.pricing-hero h1{max-width:900px}
.pricing-hero-lede{
  max-width:790px;
  margin:22px auto 30px;
  color:var(--color-muted);
  font-size:19px;
}
.pricing-hero-actions{justify-content:center}
.pricing-fact-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px 24px;
  flex-wrap:wrap;
  margin-top:30px;
  list-style:none;
  color:var(--color-muted);
  font-size:14px;
  font-weight:650;
}
.pricing-fact-row li{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pricing-tabs{min-width:0}
.billing-switch{margin:0 auto 38px}
.plan-panel-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);
  align-items:end;
  gap:36px;
  margin-bottom:32px;
}
.plan-panel-head>*{min-width:0}
.plan-panel-head p{
  margin:0;
  color:var(--color-muted);
}
.price-card h3{font-size:27px}
.plan-description{
  margin-bottom:6px;
  color:var(--color-muted);
}
.plan-limit{
  margin:0 0 24px;
  padding-top:18px;
  border-top:1px solid var(--color-border-soft);
  color:var(--color-muted);
  font-size:14px;
}
.plan-limit strong{color:var(--color-text)}
.plan-cta{width:100%}
.monthly-rule,.traffic-rule{margin-top:28px}
.traffic-card{
  background:
    linear-gradient(180deg,var(--color-sky),var(--color-panel) 34%);
}
.inclusion-section{
  border-top:1px solid var(--color-border-soft);
  border-bottom:1px solid var(--color-border-soft);
  background:var(--color-bg-top);
}
.inclusion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.inclusion-grid>*{min-width:0}
.inclusion-grid .card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.inclusion-grid .card:nth-child(4n+1){background:var(--color-lavender)}
.inclusion-grid .card:nth-child(4n+2){background:var(--color-mint)}
.inclusion-grid .card:nth-child(4n+3){background:var(--color-butter)}
.inclusion-grid .card:nth-child(4n){background:var(--color-sky)}
.inclusion-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  margin-bottom:20px;
  padding:3px 11px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:750;
  letter-spacing:.1em;
}
.inclusion-grid h3{font-size:24px}
.inclusion-grid p{
  margin:13px 0 0;
  color:var(--color-muted);
}
.comparison-section{background:var(--color-bg)}
.comparison-table th[scope="row"]{
  width:190px;
  color:var(--color-text);
}
.comparison-tip{margin-top:26px}
.payment-section{
  border-top:1px solid var(--color-border-soft);
  background:var(--color-bg-top);
}
.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  align-items:start;
  gap:48px;
}
.payment-layout>*{min-width:0}
.payment-copy h2{margin-bottom:24px}
.payment-copy p{color:var(--color-muted)}
.payment-panel{padding:30px}
.payment-panel-title{
  display:block;
  margin-bottom:14px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.payment-methods{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.payment-method{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 16px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-mint);
  color:var(--color-text);
  font-weight:750;
}
.payment-steps{
  display:grid;
  gap:12px;
  margin-bottom:28px;
  list-style:none;
  counter-reset:payment-step;
}
.payment-steps li{
  position:relative;
  display:grid;
  gap:2px;
  min-width:0;
  padding:14px 14px 14px 54px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel-deep);
  counter-increment:payment-step;
}
.payment-steps li::before{
  content:counter(payment-step);
  position:absolute;
  top:14px;
  left:14px;
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:50%;
  background:var(--color-accent);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
}
.payment-steps span{
  color:var(--color-muted);
  font-size:14px;
}
.payment-panel .btn{width:100%}
.refund-section{padding-top:clamp(56px,7vw,90px);padding-bottom:clamp(56px,7vw,90px)}
.refund-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:30px;
  padding:36px;
  background:linear-gradient(135deg,var(--color-mint),var(--color-panel));
}
.refund-panel>*{min-width:0}
.refund-badge{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:104px;
  height:104px;
  flex-shrink:0;
  border:1px solid var(--color-accent);
  border-radius:50%;
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
}
.refund-badge span{
  font-family:var(--font-display);
  font-size:45px;
  font-weight:800;
  line-height:1;
}
.refund-badge small{
  color:var(--color-muted);
  font-weight:750;
}
.refund-copy h2{font-size:36px}
.refund-copy p{
  margin:10px 0 0;
  color:var(--color-muted);
}
.faq-section{
  border-top:1px solid var(--color-border-soft);
  background:var(--color-bg-top);
}
.faq-section .promo-block{margin-bottom:0}
@media (max-width:1080px){
  .inclusion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-layout{grid-template-columns:1fr}
}
@media (max-width:860px){
  .plan-panel-head{grid-template-columns:1fr;gap:16px}
  .refund-panel{grid-template-columns:auto minmax(0,1fr)}
  .refund-panel>.btn{grid-column:1/-1;width:100%}
}
@media (max-width:768px){
  .pricing-hero{
    padding-top:64px;
    padding-bottom:64px;
  }
  .pricing-hero-lede{font-size:17px}
  .inclusion-grid{grid-template-columns:1fr}
  .payment-layout{gap:30px}
  .refund-panel{
    grid-template-columns:1fr;
    text-align:left;
  }
  .refund-badge{
    width:88px;
    height:88px;
  }
  .refund-copy h2{font-size:32px}
}
@media (max-width:640px){
  .pricing-hero-inner{align-items:stretch}
  .pricing-kicker{align-self:center}
  .pricing-hero-actions{align-items:stretch}
  .pricing-fact-row{
    align-items:flex-start;
    flex-direction:column;
    margin-inline:auto;
  }
  .billing-switch{
    width:100%;
    border-radius:var(--radius-md);
  }
  .billing-switch [role="tab"]{flex:1}
  .payment-panel{padding:22px}
  .refund-panel{padding:24px}
  .comparison-table th[scope="row"]{width:auto}
}