:root {
  --pricing-copy: 700px;
  --pricing-summary: 360px;
  --pricing-section-copy: 760px;
  --pricing-payment-copy: 1.15fr;
  --pricing-payment-board: .85fr;
  --pricing-rule-width: 68px;
}

.pricing-intro {
  display: grid;
  grid-template-columns: minmax(0, var(--pricing-copy)) minmax(0, var(--pricing-summary));
  justify-content: space-between;
  align-items: center;
  gap: var(--s10);
  background: var(--ambient);
}

.pricing-intro-copy,
.pricing-brief,
.section-heading,
.payment-layout > *,
.refund-panel > * {
  min-width: 0;
}

.pricing-lead {
  max-width: var(--pricing-copy);
  margin-top: var(--s6);
  color: var(--muted);
  font-size: var(--body);
  line-height: var(--reading-lh);
}

.pricing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s4);
  margin-top: var(--s7);
}

.pricing-brief {
  background: linear-gradient(var(--panel), var(--rose-light));
}

.pricing-brief-label {
  color: var(--accent-dark);
  font-size: var(--label);
  font-weight: var(--bold);
}

.pricing-brief > strong {
  display: block;
  margin-top: var(--s3);
  font-family: var(--mono);
  font-size: var(--number);
  line-height: var(--compact-lh);
}

.pricing-brief ul {
  display: grid;
  gap: var(--s3);
  margin-top: var(--s6);
  color: var(--muted);
}

.pricing-brief li {
  padding-top: var(--s3);
  border-top: var(--hair) solid var(--border);
}

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

.section-heading > p:not(.eyebrow),
.faq-heading > p:not(.eyebrow) {
  margin-top: var(--s5);
  color: var(--muted);
  font-size: var(--body);
  line-height: var(--reading-lh);
}

.pricing-tabs [role="tabpanel"] {
  padding-top: var(--s8);
}

.billing-note {
  display: grid;
  grid-template-columns: var(--pricing-rule-width) minmax(0, 1fr);
  gap: var(--s5);
  align-items: start;
  margin-bottom: var(--s6);
  padding: var(--s5);
  border: var(--hair) solid var(--rose-deep);
  border-radius: var(--radius);
  background: var(--rose-light);
}

.billing-note strong {
  color: var(--accent-dark);
}

.billing-note p {
  color: var(--muted);
  line-height: var(--reading-lh);
}

.plan-explain {
  color: var(--muted);
  line-height: var(--reading-lh);
}

.pricing-inclusions {
  background: linear-gradient(var(--rose-light), var(--bg));
  border-block: var(--hair) solid var(--border);
}

.feature-copy .text-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch);
  margin-top: var(--s5);
}

.comparison-callout {
  margin-top: var(--s7);
}

.payment-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--pricing-payment-copy)) minmax(0, var(--pricing-payment-board));
  align-items: center;
  gap: var(--s11);
}

.payment-layout .feature-copy > p:not(.eyebrow) + p {
  margin-top: var(--s4);
}

.payment-board h3 {
  margin-bottom: var(--s6);
}

.payment-list {
  display: grid;
  gap: var(--s3);
}

.payment-list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s5);
  padding: var(--s4);
  border: var(--hair) solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}

.payment-list strong {
  flex-shrink: 0;
}

.payment-list span {
  color: var(--muted);
  text-align: right;
}

.payment-board .btn {
  width: 100%;
  margin-top: var(--s6);
}

.refund-panel {
  display: grid;
  grid-template-columns: minmax(0, var(--pricing-payment-board)) minmax(0, var(--pricing-payment-copy));
  gap: var(--s11);
  padding: var(--s8);
  border: var(--hair) solid var(--rose-deep);
  border-radius: var(--radius);
  background: var(--stage-fill);
  box-shadow: var(--note-shadow);
}

.refund-copy {
  color: var(--muted);
  font-size: var(--body);
  line-height: var(--reading-lh);
}

.refund-copy p + p {
  margin-top: var(--s4);
}

.refund-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s6);
  margin-top: var(--s6);
}

.refund-links a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch);
}

.faq-heading {
  max-width: var(--pricing-section-copy);
  margin-bottom: var(--s7);
}

.faq-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--s5);
  margin-top: var(--s7);
  padding: var(--s5);
  border-radius: var(--radius);
  background: var(--panel-soft);
  color: var(--muted);
}

.faq-footer a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch);
  flex-shrink: 0;
}

@media (max-width: 1020px) {
  .pricing-intro {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .payment-layout,
  .refund-panel {
    gap: var(--s7);
  }
}

@media (max-width: 768px) {
  .payment-layout,
  .refund-panel {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .pricing-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-actions .btn {
    width: 100%;
  }

  .billing-note {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s2);
  }

  .refund-panel {
    padding: var(--s5);
  }

  .payment-list li {
    display: grid;
    gap: var(--s2);
  }

  .payment-list span {
    text-align: left;
  }

  .faq-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}