.pricing-hero{
  position:relative;
  overflow-x:clip;
  border-bottom:1px solid var(--color-border);
  background:var(--color-page);
}
.pricing-hero::before{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(circle,rgba(var(--rgb-text),.1) 1px,var(--color-transparent) 1.3px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(to right,var(--color-text),var(--color-transparent));
  mask-image:linear-gradient(to right,var(--color-text),var(--color-transparent));
  content:"";
}
.pricing-hero::after{
  position:absolute;
  right:-180px;
  bottom:-300px;
  width:680px;
  height:680px;
  border-radius:var(--radius-round);
  pointer-events:none;
  background:radial-gradient(circle,rgba(var(--rgb-accent),.12),rgba(var(--rgb-accent),0));
  content:"";
}
.pricing-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  min-height:620px;
  grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);
  align-items:center;
  gap:72px;
  padding-top:88px;
  padding-bottom:88px;
}
.pricing-intro{
  min-width:0;
  max-width:780px;
}
.pricing-intro h1{
  max-width:760px;
  margin-top:22px;
}
.pricing-lead{
  max-width:690px;
  color:var(--color-text-muted);
  font-size:19px;
}
.pricing-lead strong{color:var(--color-text)}
.pricing-intro .button-row{margin-top:30px}
.pricing-rule-board{
  min-width:0;
  padding:30px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.pricing-rule-label{
  margin-bottom:20px;
  color:var(--color-accent-deep);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.pricing-rule-board dl{margin:0}
.pricing-rule-board dl div{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:20px;
  padding-block:15px;
  border-top:1px solid var(--color-border);
}
.pricing-rule-board dt{
  color:var(--color-text-muted);
  font-size:14px;
}
.pricing-rule-board dd{
  margin:0;
  font-weight:750;
  text-align:right;
}
.plan-code{
  margin-bottom:14px;
  color:var(--color-accent-deep);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
}
.plan-summary{
  min-height:106px;
  color:var(--color-text-muted);
}
.plan-card{
  display:flex;
  flex-direction:column;
}
.plan-card .btn{
  width:100%;
  margin-top:auto;
}
.billing-explanation{
  display:grid;
  grid-template-columns:minmax(190px,.45fr) minmax(0,1fr) minmax(0,1fr);
  gap:28px;
  margin-top:28px;
  padding:28px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel-soft);
}
.billing-explanation h3{
  margin:0;
  font-size:22px;
}
.billing-explanation p{
  margin:0;
  color:var(--color-text-muted);
}
.dark-kicker{
  display:inline-block;
  margin-bottom:18px;
  color:var(--color-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.section-dark .section-heading p{
  color:var(--color-dark-text);
  opacity:.7;
}
.included-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--color-dark-border);
  border-left:1px solid var(--color-dark-border);
}
.included-item{
  min-width:0;
  padding:30px;
  border-right:1px solid var(--color-dark-border);
  border-bottom:1px solid var(--color-dark-border);
  background:var(--color-dark-panel);
}
.included-item h3{
  margin-top:22px;
  font-size:22px;
}
.included-item p{
  margin:0;
  color:var(--color-dark-text);
  opacity:.7;
}
.included-mark{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-sm);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-weight:700;
}
.pricing-table{min-width:1040px}
.pricing-table td:first-child{
  color:var(--color-text);
  font-weight:750;
}
.payment-section{
  border-block:1px solid var(--color-border);
  background:var(--color-panel-soft);
}
.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
  align-items:start;
  gap:72px;
}
.payment-layout h2{margin-top:22px}
.payment-layout > div:first-child > p{
  max-width:760px;
  color:var(--color-text-muted);
}
.payment-methods{
  display:grid;
  gap:12px;
}
.payment-methods article{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:18px;
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-small);
}
.payment-methods h3{
  margin-bottom:5px;
  font-size:20px;
}
.payment-methods p{
  margin:0;
  color:var(--color-text-muted);
  font-size:14px;
}
.payment-symbol{
  display:inline-flex;
  width:40px;
  height:40px;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-sm);
  color:var(--color-accent-deep);
  background:var(--color-panel-soft);
  font-weight:800;
}
.refund-band{
  padding-top:80px;
  padding-bottom:80px;
  color:var(--color-dark-text);
  background:var(--color-dark);
  border-block:1px solid var(--color-dark-border);
}
.refund-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:56px;
}
.refund-copy{max-width:820px}
.refund-copy h2{color:var(--color-dark-text)}
.refund-copy p{
  color:var(--color-dark-text);
  opacity:.72;
}
.refund-label{
  display:inline-block;
  margin-bottom:15px;
  color:var(--color-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.refund-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:190px;
}
.faq-wrap{max-width:920px}
.final-entry{
  border-top:1px solid var(--color-border);
  background:var(--color-panel-soft);
}
.final-entry-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:40px;
}
.final-entry h2{
  margin-top:18px;
  margin-bottom:8px;
  font-size:34px;
}
.final-entry p{
  max-width:690px;
  margin:0;
  color:var(--color-text-muted);
}
@media (max-width:960px){
  .pricing-hero-inner{
    min-height:auto;
    grid-template-columns:1fr;
    gap:42px;
    padding-top:72px;
    padding-bottom:72px;
  }
  .pricing-rule-board{max-width:680px}
  .billing-explanation{grid-template-columns:1fr 1fr}
  .billing-explanation h3{grid-column:1 / -1}
  .included-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-layout{grid-template-columns:1fr}
  .payment-methods{grid-template-columns:repeat(3,minmax(0,1fr))}
  .payment-methods article{flex-direction:column}
}
@media (max-width:768px){
  .pricing-hero-inner{
    gap:32px;
    padding-top:54px;
    padding-bottom:54px;
  }
  .pricing-lead{font-size:17px}
  .billing-explanation{grid-template-columns:1fr}
  .billing-explanation h3{grid-column:auto}
  .included-grid{grid-template-columns:1fr}
  .payment-methods{grid-template-columns:1fr}
  .payment-methods article{flex-direction:row}
  .refund-layout{grid-template-columns:1fr}
  .refund-actions{
    width:100%;
    flex-direction:row;
  }
  .refund-actions .btn{flex:1}
  .final-entry-inner{grid-template-columns:1fr}
}
@media (max-width:640px){
  .pricing-rule-board{padding:22px}
  .pricing-rule-board dl div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .pricing-rule-board dd{text-align:left}
  .plan-summary{min-height:0}
  .billing-explanation{padding:22px}
  .included-item{padding:24px}
  .refund-band{
    padding-top:64px;
    padding-bottom:64px;
  }
  .refund-actions{flex-direction:column}
  .final-entry h2{font-size:28px}
}