.pricing-offer { padding-block: 66px 52px; }
.pricing-heading { display: grid; grid-template-columns: 1.2fr .85fr; gap: 60px; align-items: center; margin-bottom: 62px; }
.pricing-heading h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.06; }
.pricing-heading h1 span, .pricing-inclusions h2 span { color: var(--coral); }
.pricing-heading > p { font-size: 21px; color: var(--muted); }
.pricing-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-plan { padding: 14px 28px 22px; text-align: center; }
.pricing-plan + .pricing-plan { border-left: 1px solid var(--line); }
.pricing-plan h2 { font-size: 30px; letter-spacing: -.035em; }
.plan-price { font-size: clamp(38px, 4.35vw, 60px); font-weight: 750; letter-spacing: -.04em; line-height: 1.2; margin-top: 24px; }
.plan-duration, .plan-description { font-size: 20px; color: var(--muted); margin-top: 14px; }
.plan-description { margin-block: 30px 12px; min-height: 32px; }
.plan-inclusions { font-size: 15px; color: var(--muted); margin-bottom: 42px; }
.pricing-plan .button { width: 100%; font-size: 18px; min-height: 58px; }
.button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.pricing-payment-note { border-top: 1px solid var(--line); text-align: center; margin-top: 44px; padding-top: 24px; color: var(--muted); font-size: 16px; }
.pricing-payment-note p + p { margin-top: 8px; font-size: 14px; }
.pricing-inclusions { background: var(--blush); padding-block: 70px; }
.inclusion-grid { display: grid; grid-template-columns: 1fr 1.08fr; gap: 42px; align-items: center; }
.inclusion-grid h2 { font-size: clamp(34px, 4.3vw, 48px); }
.inclusion-grid ul { list-style: none; padding: 0; margin: 0; display: grid; grid-auto-flow: column; grid-template-rows: repeat(4, auto); grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 28px; row-gap: 22px; }
.inclusion-grid li { display: flex; align-items: start; gap: 14px; font-size: clamp(14px, 1.1vw, 16px); line-height: 1.5; }
.inclusion-grid .icon { color: var(--coral-hover); width: 21px; height: 21px; }
.pricing-steps { padding-block: 68px; }
.pricing-steps h2 { font-size: clamp(34px, 3.6vw, 48px); }
.pricing-steps ol { list-style: none; margin: 44px 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; }
.pricing-steps li { display: flex; gap: 22px; align-items: start; position: relative; }
.pricing-steps li > .icon { position: absolute; right: -32px; top: 22px; width: 22px; height: 22px; }
.pricing-steps h3 { font-size: 21px; margin-block: 18px; }
.pricing-steps li p { color: var(--muted); font-size: 17px; }
.step-number { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; background: var(--blush); color: var(--coral-hover); font-size: 21px; }
.pricing-support { border-top: 1px solid var(--line); padding-top: 28px; display: flex; justify-content: space-between; gap: 24px; color: var(--muted); font-size: 15px; }
.pricing-support a, .pricing-legal-note a, .commerce-notice a { color: var(--coral-hover); text-decoration: underline; text-underline-offset: 4px; }
.pricing-legal-note { margin-top: 20px; color: var(--muted); font-size: 13px; max-width: 920px; }
.commerce-notice { background: var(--blush); border-left: 3px solid var(--coral); padding: 18px 24px; margin-bottom: 28px; font-size: 16px; }
.plan-checkout { margin: 0; }
.purchase-result { max-width: 1050px; padding-block: 88px; min-height: 650px; }
.purchase-result h1 { font-size: clamp(36px, 4.6vw, 62px); line-height: 1.08; max-width: 780px; }
.purchase-result > p { margin-top: 24px; max-width: 730px; font-size: 19px; color: var(--muted); }
.purchase-status-line { display: flex; align-items: flex-start; gap: 14px; }
.purchase-spinner { flex: 0 0 auto; width: 24px; height: 24px; margin-top: 3px; border: 3px solid var(--blush); border-top-color: var(--coral); border-right-color: var(--coral); border-radius: 50%; animation: purchase-spin .9s linear infinite; }
.purchase-spinner[hidden] { display: none; }
@keyframes purchase-spin { to { transform: rotate(360deg); } }
.license-key-line { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--blush); margin-top: 36px; padding: 22px 26px; border-radius: 8px; }
.license-key-line code { font-size: clamp(16px, 2.15vw, 29px); overflow-wrap: anywhere; font-weight: 700; letter-spacing: .025em; }
.license-key-line .button { min-height: 46px; font-size: 15px; white-space: nowrap; }
.purchase-details { margin-block: 32px; }
.purchase-details > div { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding-block: 15px; border-bottom: 1px solid var(--line); font-size: 17px; }
.purchase-details dt { color: var(--muted); }.purchase-details dd { margin: 0; overflow-wrap: anywhere; }
.purchase-actions { display: flex; flex-wrap: wrap; gap: 28px; margin-block: 32px; align-items: center; }
#retry-status { margin-top: 24px; }
#copy-status { font-size: 14px; color: var(--muted); min-height: 22px; margin-top: 10px; }
.agreement-page { max-width: 1040px; padding-block: 60px 90px; }.agreement-page h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.15; }
.agreement-languages { display: flex; flex-wrap: wrap; gap: 26px; margin-block: 26px; }.agreement-languages a { min-height: 44px; display: flex; align-items: center; text-decoration: underline; }.agreement-languages [aria-current] { color: var(--coral-hover); }
.agreement-content { margin-block: 42px; }.agreement-content h2 { font-size: 24px; letter-spacing: -.025em; margin-block: 34px 16px; }.agreement-content p { font-size: 17px; line-height: 1.8; }
.pricing-heading, .pricing-plan { animation: enter .55s ease-out both; }.pricing-plan:nth-child(2) { animation-delay: .08s; }.pricing-plan:nth-child(3) { animation-delay: .16s; }
@media (max-width: 1100px) { .pricing-heading { gap: 30px; grid-template-columns: 1.3fr 1fr; }.pricing-heading > p { font-size: 18px; }.pricing-plan { padding-inline: 18px; }.plan-description { font-size: 17px; }.pricing-steps ol { gap: 24px; }.pricing-steps li { gap: 14px; }.pricing-steps li > .icon { right: -22px; width: 18px; }.step-number { width: 48px; height: 48px; }.pricing-steps h3 { margin-top: 12px; font-size: 19px; } }
@media (max-width: 900px) { .inclusion-grid { grid-template-columns: 1fr; gap: 36px; }.pricing-steps li > .icon { display: none; } }
@media (max-width: 767px) { .pricing-offer { padding-block: 38px; }.pricing-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 34px; }.pricing-heading h1 { font-size: clamp(36px, 7.5vw, 52px); }.pricing-plans { grid-template-columns: 1fr; gap: 24px; }.pricing-plan { text-align: left; padding: 26px 0; }.pricing-plan + .pricing-plan { border-left: 0; border-top: 1px solid var(--line); }.plan-price { margin-top: 16px; }.plan-description { margin-block: 18px 24px; }.pricing-plan .button { width: 100%; }.pricing-payment-note { text-align: left; }.inclusion-grid ul { display: flex; flex-direction: column; gap: 20px; }.pricing-inclusions { padding-block: 46px; }.pricing-steps { padding-block: 46px; }.pricing-steps ol { grid-template-columns: 1fr; gap: 28px; margin-block: 30px; }.pricing-support { flex-direction: column; gap: 12px; }.checkout-dialog { padding: 24px; }.purchase-result { padding-block: 44px; }.license-key-line { align-items: stretch; flex-direction: column; padding: 18px; }.purchase-details > div { grid-template-columns: 1fr; gap: 7px; }.purchase-actions { align-items: stretch; flex-direction: column; }.purchase-actions .text-link { align-self: flex-start; } }
@media (max-width: 767px) { .plan-description { margin-bottom: 10px; }.plan-inclusions { margin-bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { .pricing-heading, .pricing-plan, .purchase-spinner { animation: none; } }
@media print { .site-header, .site-footer, .scroll-top, .cursor-ring, .agreement-languages { display: none; }.agreement-page { width: 100%; padding: 0; }.agreement-content h2 { break-after: avoid; } }
