:root {
  --pricing-copy-width: 760px;
  --pricing-card-min: 220px;
  --pricing-payment-width: 390px;
  --pricing-icon-size: 64px;
  --pricing-section-gap: clamp(24px, 4vw, 48px);
  --pricing-grid-gap: 14px;
}

.pricing-hero {
  position: relative;
  max-width: 100%;
  overflow-x: clip;
  border-bottom: 1px solid var(--overlay-line);
  background:
    radial-gradient(circle at 12% 8%, var(--accent-12), var(--color-transparent) 40%),
    radial-gradient(circle at 88% 92%, var(--mist-05), var(--color-transparent) 38%),
    var(--color-bg);
}

.pricing-hero::after {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--overlay-line) 1px, var(--color-transparent) 1px),
    linear-gradient(90deg, var(--overlay-line) 1px, var(--color-transparent) 1px);
  background-size: 42px 42px;
  opacity: .28;
  content: "";
  pointer-events: none;
  mask-image: linear-gradient(to bottom, var(--overlay-dark), var(--color-transparent));
}

.pricing-glow {
  position: absolute;
  top: -34%;
  left: -16%;
  width: min(76vw, 900px);
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle, var(--accent-08), var(--color-transparent) 64%);
  pointer-events: none;
}

.pricing-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 620px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: clamp(72px, 10vw, 126px);
  padding-bottom: clamp(68px, 9vw, 112px);
  text-align: center;
}

.pricing-badge {
  margin-bottom: 20px;
}

.pricing-hero h1 {
  max-width: 850px;
}

.pricing-hero-lede {
  max-width: var(--pricing-copy-width);
  margin-bottom: 26px;
  color: var(--color-muted);
  font-size: 18px;
}

.pricing-hero-actions {
  justify-content: center;
}

.pricing-fact-strip {
  display: grid;
  width: min(900px, 100%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 50px 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--overlay-edge);
  border-radius: var(--radius-md);
  background: var(--color-panel);
  box-shadow: inset 0 1px 0 var(--overlay-top), var(--shadow-card);
  list-style: none;
}

.pricing-fact-strip li {
  display: flex;
  min-width: 0;
  min-height: 92px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.pricing-fact-strip li + li {
  border-left: 1px solid var(--overlay-line);
}

.pricing-fact-strip strong {
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: 22px;
}

.pricing-fact-strip span {
  color: var(--color-muted);
  font-size: 12px;
}

.pricing-fact-strip strong span {
  color: inherit;
  font-size: inherit;
}

.pricing-heading {
  max-width: var(--pricing-copy-width);
  margin-bottom: 36px;
}

.pricing-heading p,
.faq-intro {
  color: var(--color-muted);
}

.pricing-selector-section {
  position: relative;
}

.pricing-tabs > .tab-list {
  margin-bottom: 22px;
}

.billing-note {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 22px;
  padding: 18px;
  border: 1px solid var(--overlay-edge);
  border-radius: var(--radius-sm);
  background: var(--color-panel-raised);
  box-shadow: inset 0 1px 0 var(--overlay-top);
}

.billing-note strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

.billing-note p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.plan-card {
  min-height: 100%;
}

.plan-kicker {
  margin-bottom: 10px;
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}

.plan-summary {
  min-height: 100px;
  color: var(--color-muted);
  font-size: 14px;
}

.plan-limit {
  margin: 0 0 22px;
  padding-top: 16px;
  border-top: 1px solid var(--overlay-line);
  color: var(--color-muted);
  font-size: 13px;
}

.plan-limit strong {
  color: var(--color-text);
}

.traffic-plan-grid .plan-card.is-featured {
  border-color: var(--accent-35);
}

.pricing-disclosure {
  margin-top: 28px;
  margin-bottom: 0;
}

.included-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pricing-grid-gap);
}

.included-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--overlay-edge);
  border-radius: var(--radius-md);
  background: var(--color-panel-raised);
  box-shadow: inset 0 1px 0 var(--overlay-top);
}

.included-card .icon-plate {
  margin-bottom: 20px;
}

.included-card h3 {
  font-size: 20px;
}

.included-card p {
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.comparison-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pricing-grid-gap);
  margin-top: 20px;
}

.comparison-notes .card p {
  margin-bottom: 0;
  color: var(--color-muted);
}

.payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--pricing-card-min), var(--pricing-payment-width));
  gap: var(--pricing-section-gap);
  align-items: start;
}

.payment-copy {
  max-width: var(--pricing-copy-width);
}

.payment-copy p {
  color: var(--color-muted);
}

.payment-board {
  padding: 24px;
}

.payment-board h3 {
  font-size: 20px;
}

.payment-methods {
  display: grid;
  gap: 10px;
  margin: 20px 0 24px;
  padding: 0;
  list-style: none;
}

.payment-methods li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--overlay-line);
  border-radius: var(--radius-sm);
  background: var(--color-panel-raised);
}

.payment-methods strong,
.payment-methods span {
  display: block;
}

.payment-methods span {
  color: var(--color-muted);
  font-size: 12px;
}

.payment-methods .icon-plate {
  color: var(--color-accent);
}

.payment-board .btn {
  width: 100%;
}

.refund-section {
  background:
    radial-gradient(circle at 82% 40%, var(--accent-08), var(--color-transparent) 36%),
    var(--color-bg);
}

.refund-panel {
  display: grid;
  grid-template-columns: var(--pricing-icon-size) minmax(0, 1fr);
  gap: 24px;
  padding: clamp(26px, 5vw, 52px);
  border: 1px solid var(--accent-35);
  border-radius: var(--radius-md);
  background: var(--color-panel);
  box-shadow: inset 0 1px 0 var(--overlay-top), var(--shadow-window);
}

.refund-mark {
  display: grid;
  width: var(--pricing-icon-size);
  height: var(--pricing-icon-size);
  place-items: center;
  border-radius: var(--radius-md);
  background: var(--accent-16);
  color: var(--color-accent);
}

.refund-mark svg {
  width: 32px;
  height: 32px;
}

.refund-panel p {
  max-width: 850px;
  color: var(--color-muted);
}

.refund-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.faq-section {
  max-width: 860px;
}

.faq-section > .eyebrow,
.faq-section > h2,
.faq-section > .faq-intro {
  margin-left: 0;
}

.faq-section .promo-block {
  width: calc(100% + min(12vw, 220px));
  margin-left: min(-6vw, -110px);
}

@media (max-width: 980px) {
  .pricing-hero-inner {
    min-height: 560px;
  }

  .pricing-fact-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-fact-strip li:nth-child(even) {
    border-left: 1px solid var(--overlay-line);
  }

  .pricing-fact-strip li:nth-child(n + 3) {
    border-top: 1px solid var(--overlay-line);
  }

  .included-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-layout {
    grid-template-columns: 1fr;
  }

  .payment-board {
    max-width: 620px;
  }

  .faq-section .promo-block {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  .pricing-hero-inner {
    min-height: 0;
  }

  .pricing-hero-lede {
    font-size: 16px;
  }

  .plan-summary {
    min-height: 0;
  }

  .comparison-notes {
    grid-template-columns: 1fr;
  }

  .refund-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pricing-hero-inner {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .pricing-fact-strip {
    margin-top: 34px;
  }

  .pricing-fact-strip li {
    min-height: 80px;
    padding: 12px 8px;
  }

  .pricing-fact-strip strong {
    font-size: 18px;
  }

  .included-grid {
    grid-template-columns: 1fr;
  }

  .billing-note {
    padding: 15px;
  }

  .payment-board,
  .included-card {
    padding: 20px;
  }

  .refund-links {
    flex-direction: column;
  }

  .refund-links .btn {
    width: 100%;
  }
}