.purchase-shell { max-width: 1120px; margin: auto; padding: 48px 24px 70px; }
.purchase-heading { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.purchase-heading h1 { font-size: clamp(30px, 4.7vw, 52px); line-height: 1.12; letter-spacing: -.04em; margin: 14px 0; }
.purchase-heading p { color: #cbc9e0; font-size: 17px; line-height: 1.6; margin: 0; }
.product-switch, .purchase-cycle { display: flex; justify-content: center; gap: 8px; margin: 18px 0; }
.product-switch a, .purchase-cycle button { border: 1px solid #56536b; border-radius: 12px; padding: 12px 20px; text-decoration: none; color: #dedcef; background: #17192e; font: inherit; text-align: center; }
.product-switch [aria-current="page"], .purchase-cycle [aria-pressed="true"] { color: #fff; border-color: #bb9df7; background: #352a56; }
.purchase-status { color: #bfb8d4; text-align: center; line-height: 1.5; }
.purchase-status.is-error { color: #f5cdb7; }
.purchase-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 26px 0 38px; align-items: stretch; }
.purchase-plans.is-workspace { grid-template-columns: minmax(0, 520px); justify-content: center; }
.purchase-plan { min-width: 0; padding: 26px; display: flex; flex-direction: column; border-radius: 22px; background: #191c35; border: 1px solid #454361; }
.purchase-plan h2 { margin: 8px 0 18px; font-size: 26px; }
.purchase-price { font-size: clamp(26px, 2.9vw, 35px); letter-spacing: -.04em; font-weight: 800; margin: 0 0 7px; overflow-wrap: anywhere; }
.purchase-plan small { color: #cbc4dc; line-height: 1.6; }
.purchase-plan ul { margin: 24px 0; padding-left: 20px; color: #d7d3e8; line-height: 1.65; }
.purchase-plan li { margin-bottom: 8px; }
.purchase-plan button { margin-top: auto; }
.purchase-plan.is-featured { border-color: #ab81ee; background: linear-gradient(155deg, #30214d, #191c35); }
.purchase-plan .primary-button { white-space: normal; line-height: 1.4; min-height: 48px; width: 100%; }
.purchase-process { border-top: 1px solid #484259; padding-top: 16px; }
.purchase-process h2 { text-align: center; font-size: 23px; }
.purchase-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; padding-left: 24px; }
.purchase-process li { padding-left: 2px; line-height: 1.5; color: #d7d2e8; }
.purchase-process strong { display: block; margin-bottom: 8px; color: #fff; }
.purchase-timing, .purchase-support, .purchase-legal { text-align: center; color: #bdb7cd; line-height: 1.6; font-size: 14px; }
.purchase-support a { color: #e0ccff; overflow-wrap: anywhere; }
.purchase-legal { font-size: 12px; }
.purchase-payment-proof { display: grid; gap: 5px; text-align: center; max-width: 700px; margin: 22px auto; padding: 16px; border: 1px solid #679c8370; border-radius: 14px; background: #315b4528; }
.purchase-payment-proof strong { color: #b6f3d2; font-size: 17px; }
.purchase-payment-proof span { color: #cfdbd8; font-size: 13px; line-height: 1.5; }
.purchase-demo { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 30px; align-items: center; padding: 28px 0 36px; }
.purchase-demo h2 { font-size: 28px; line-height: 1.25; }
.purchase-demo p { color: #c7bfd7; line-height: 1.65; }
.purchase-demo a { color: #e0ceff; }
.purchase-demo img { display: block; width: 100%; border-radius: 18px; border: 1px solid #76639266; box-shadow: 0 16px 50px #0004; }
.product-switch a:focus-visible, .purchase-cycle button:focus-visible { outline: 3px solid #dbc6ff; outline-offset: 3px; }
@media (max-width: 740px) {
  .purchase-shell { padding: 30px 16px 60px; }
  .purchase-plans, .purchase-process ol { grid-template-columns: minmax(0, 1fr); }
  .purchase-process ol { gap: 22px; }
  .purchase-plan { padding: 23px; }
  .product-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-cycle { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .purchase-demo { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 0; }
  .product-switch a, .purchase-cycle button { padding: 12px 8px; font-size: 14px; }
}
