:root{
  --pricing-hero-min:520px;
  --pricing-summary-width:430px;
  --pricing-table-min:860px;
  --pricing-decor-size:420px;
  --pricing-icon-size:54px;
}
.pricing-hero{
  position:relative;
  display:flex;
  min-height:var(--pricing-hero-min);
  align-items:center;
  overflow-x:clip;
  padding-top:72px;
  padding-bottom:72px;
  background:linear-gradient(155deg,var(--color-wash-a),var(--color-wash-b) 48%,var(--color-wash-c));
}
.pricing-hero-decor{
  position:absolute;
  top:8%;
  right:4%;
  width:var(--pricing-decor-size);
  height:var(--pricing-decor-size);
  max-width:90vw;
  border:1px solid var(--color-border-soft);
  border-radius:50%;
  background:linear-gradient(135deg,var(--color-plate-a),var(--color-plate-b));
  box-shadow:var(--shadow-plate);
  opacity:.72;
}
.pricing-hero-decor::before,
.pricing-hero-decor::after{
  content:"";
  position:absolute;
  border:1px solid var(--color-accent-soft);
  border-radius:50%;
}
.pricing-hero-decor::before{inset:18%}
.pricing-hero-decor::after{inset:36%}
.pricing-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,var(--pricing-summary-width));
  align-items:center;
  gap:72px;
}
.pricing-hero-copy{max-width:760px}
.pricing-hero-copy .badge{margin-bottom:18px}
.pricing-hero-copy h1{max-width:720px}
.pricing-hero-copy .lead{margin-top:22px;margin-bottom:24px}
.pricing-summary{
  display:grid;
  grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);
  gap:0;
  overflow:hidden;
  padding:10px;
  box-shadow:var(--shadow-panel);
}
.summary-key,
.summary-value{
  min-height:64px;
  padding:18px;
  border-bottom:1px solid var(--color-border-soft);
}
.summary-key{
  display:flex;
  align-items:center;
  background:var(--color-panel-recessed);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
}
.summary-value{
  display:flex;
  align-items:center;
  background:var(--color-panel);
  color:var(--color-text);
  font-weight:750;
}
.summary-key:nth-last-child(-n+2),
.summary-value:nth-last-child(-n+2){border-bottom:0}
.pricing-tabs{display:grid;gap:28px}
.plan-panel{display:grid;gap:24px}
.plan-context{
  max-width:880px;
  padding:22px 24px;
  border-left:4px solid var(--color-accent);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  background:var(--color-panel-recessed);
}
.plan-context h3{margin-bottom:8px;font-size:22px}
.plan-context p{margin:0;color:var(--color-text-muted)}
.plan-card{overflow:visible}
.plan-code{
  margin-bottom:12px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
}
.plan-description{
  margin-top:20px;
  color:var(--color-text-muted);
  font-size:14px;
}
.plan-card .plan-features{margin-top:18px}
.plan-card.is-featured{box-shadow:var(--shadow-panel)}
.plan-includes{background:var(--color-panel-recessed)}
.include-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.include-card{
  display:grid;
  grid-template-columns:var(--pricing-icon-size) minmax(0,1fr);
  gap:18px;
  min-height:190px;
  padding:24px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.include-icon{
  display:grid;
  width:var(--pricing-icon-size);
  height:var(--pricing-icon-size);
  place-items:center;
  border-radius:var(--radius-sm);
  background:var(--color-accent);
  color:var(--color-white);
}
.include-icon svg{width:28px;height:28px}
.include-card h3{margin-bottom:9px;font-size:20px}
.include-card p{margin:0;color:var(--color-text-muted);font-size:14px}
.pricing-table{min-width:var(--pricing-table-min)}
.pricing-table td:nth-child(2),
.pricing-table td:nth-child(3){
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}
.comparison-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.comparison-notes p{
  margin:0;
  padding:18px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  color:var(--color-text-muted);
  font-size:14px;
}
.comparison-notes strong{color:var(--color-text)}
.payment-section{background:var(--color-panel-recessed)}
.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:48px;
}
.payment-methods{display:flex;flex-wrap:wrap;gap:10px}
.payment-chip{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:8px 16px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-panel);
  color:var(--color-text);
  font-weight:750;
  box-shadow:var(--shadow-card);
}
.payment-process{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  padding:8px;
}
.payment-process article{
  padding:24px;
  border-right:1px solid var(--color-border-soft);
  border-bottom:1px solid var(--color-border-soft);
}
.payment-process article:nth-child(even){border-right:0}
.payment-process article:nth-last-child(-n+2){border-bottom:0}
.process-key{
  display:block;
  margin-bottom:10px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
}
.payment-process h3{margin-bottom:8px;font-size:20px}
.payment-process p{margin:0;color:var(--color-text-muted);font-size:14px}
.refund-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:36px;
  border-radius:var(--radius-lg);
  background:var(--color-ink);
  color:var(--color-ink-text);
  box-shadow:var(--shadow-panel);
}
.refund-panel h2{margin-bottom:16px;color:var(--color-ink-text)}
.refund-panel p{color:var(--color-ink-muted)}
.refund-panel p:last-child{margin-bottom:0}
.refund-panel p a{
  color:var(--color-ink-text);
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:4px;
}
.refund-mark{
  display:grid;
  width:76px;
  height:76px;
  place-items:center;
  border-radius:var(--radius-md);
  background:var(--color-accent);
  color:var(--color-white);
}
.refund-mark svg{width:48px;height:48px}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  align-items:start;
  gap:52px;
}
.faq-layout .section-head{
  position:sticky;
  top:calc(var(--header-height) + 28px);
  margin-bottom:0;
}
.pricing-end{padding-top:0}
@media (max-width:1100px){
  .pricing-hero-layout{grid-template-columns:1fr;gap:36px}
  .pricing-summary{max-width:680px}
  .pricing-grid{grid-template-columns:1fr}
  .payment-layout,.faq-layout{grid-template-columns:1fr}
  .faq-layout .section-head{position:static}
}
@media (max-width:768px){
  .pricing-hero{
    min-height:auto;
    padding-top:56px;
    padding-bottom:56px;
  }
  .pricing-hero-decor{
    top:auto;
    right:-20%;
    bottom:-22%;
    opacity:.45;
  }
  .pricing-hero-layout{gap:28px}
  .pricing-summary{grid-template-columns:108px minmax(0,1fr)}
  .summary-key,.summary-value{min-height:56px;padding:14px}
  .include-grid,.comparison-notes{grid-template-columns:1fr}
  .payment-process{grid-template-columns:1fr}
  .payment-process article,
  .payment-process article:nth-child(even){
    border-right:0;
    border-bottom:1px solid var(--color-border-soft);
  }
  .payment-process article:last-child{border-bottom:0}
  .refund-panel{grid-template-columns:1fr}
  .refund-mark{width:64px;height:64px}
}
@media (max-width:640px){
  .pricing-hero{padding-top:44px;padding-bottom:44px}
  .pricing-hero-decor{display:none}
  .pricing-summary{grid-template-columns:92px minmax(0,1fr);padding:6px}
  .summary-key,.summary-value{padding:12px;font-size:12px}
  .plan-context{padding:18px}
  .include-card{
    grid-template-columns:1fr;
    min-height:0;
    padding:20px;
  }
  .payment-process article{padding:20px}
  .refund-panel{padding:24px}
  .refund-panel .btn{width:100%}
}