.cx-pricing-head { max-width: 640px; margin: 0 auto 48px; text-align: center; }
.cx-pricing-head .cx-eyebrow { justify-content: center; }
.cx-pricing-head a { color: var(--cx-blue-soft); font-weight: 700; }
.cx-pricing-head a:hover { text-decoration: underline; }
.cx-pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.cx-price-card { padding: 28px; position: relative; display: flex; flex-direction: column; }
.cx-price-card.cx-popular {
  border-color: rgba(61, 107, 255, .55);
  background: rgba(61, 107, 255, .08);
  box-shadow: 0 0 40px rgba(61, 107, 255, .18);
}
.cx-price-card.cx-popular:hover { border-color: rgba(91, 130, 255, .8); }
.cx-pill {
  position: absolute; top: -12px; right: 24px;
  background: var(--cx-blue); color: #fff;
  font-family: var(--cx-font-mono);
  font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 6px;
  box-shadow: var(--cx-glow-blue);
}
.cx-plan-top p { font-size: .85rem; margin-bottom: 0; }
.cx-price-row { margin: 16px 0; }
.cx-price { font-family: var(--cx-font-mono); font-size: 1.7rem; font-weight: 700; color: var(--cx-text-hi); }
.cx-duration { font-size: .8rem; color: var(--cx-text-dim); margin: 0; }
.cx-price-card ul { list-style: none; margin: 0 0 24px; padding: 0; flex: 1; }
.cx-price-card li { font-size: .88rem; color: var(--cx-text); padding: 6px 0; display: flex; gap: 8px; align-items: baseline; }
.cx-price-card li::before { content: '▸'; color: var(--cx-blue-soft); font-family: var(--cx-font-mono); }
.cx-btn-wide { width: 100%; }
.cx-note { text-align: center; font-size: .8rem; color: var(--cx-text-dim); margin-top: 32px; }

.cx-faq-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; }
.cx-faq-list details {
  border-bottom: 1px solid var(--cx-edge);
  padding: 18px 0;
}
.cx-faq-list summary { cursor: pointer; font-weight: 700; color: var(--cx-text-hi); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.cx-faq-list summary::-webkit-details-marker { display: none; }
.cx-faq-list summary::after { content: '+'; font-family: var(--cx-font-mono); font-size: 1.2rem; color: var(--cx-blue-soft); flex: none; }
.cx-faq-list details[open] summary::after { content: '\2212'; }
.cx-faq-list p { margin-top: 12px; }

.cx-cta { text-align: center; position: relative; overflow: hidden; }
.cx-cta::before {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: 900px; height: 500px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(61, 107, 255, .14), transparent);
  filter: blur(60px);
  pointer-events: none;
}
.cx-cta .cx-shell { position: relative; z-index: 1; }
.cx-cta h2 { max-width: 620px; margin-inline: auto; }
.cx-cta p { max-width: 520px; margin-inline: auto; }
.cx-cta .cx-actions { margin-top: 8px; }

@media (max-width: 1024px) { .cx-pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .cx-faq-wrap { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .cx-pricing-grid { grid-template-columns: 1fr; } }
