.px-site .px-cta-banner { background: var(--px-midnight); color: var(--color-text-primary); padding: clamp(4.5rem, 8vw, 7rem) 0; position: relative; overflow: hidden; }
.px-site .px-cta-banner::before { background: radial-gradient(circle, rgba(166,84,232,.18), transparent 64%); content: ''; height: 30rem; pointer-events: none; position: absolute; right: -10rem; top: -15rem; width: 30rem; }
.px-site .px-cta-banner__surface { margin: 0 auto; max-width: var(--container-max-width); position: relative; text-align: left; }
.px-site .px-cta-banner--panel .px-cta-banner__surface { background: linear-gradient(125deg, #5520A8 0%, #6D32BD 45%, #171629 100%); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; box-shadow: 0 24px 70px rgba(17,18,26,.28), inset 0 1px 0 rgba(255,255,255,.1); padding: clamp(2rem, 5vw, 4rem); }
.px-site .px-cta-banner__content { margin: 0 auto; max-width: 42rem; }
.px-site .px-cta-banner__eyebrow { color: var(--px-gold-400); font-size: .75rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 1rem; text-transform: uppercase; }
.px-site .px-cta-banner__heading { color: var(--px-white); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.035em; line-height: 1.05; margin: 0; }
.px-site .px-cta-banner__description { color: var(--color-text-secondary); font-size: clamp(1rem, 1.6vw, 1.125rem); line-height: 1.65; margin: 1.25rem auto 0; max-width: 36rem; }
.px-site .px-cta-banner--panel .px-cta-banner__description { color: rgba(255,255,255,.82); }
.px-site .px-cta-banner--panel .px-cta-banner__surface { max-width: 960px; text-align: center; }
.px-site .px-cta-banner__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-start; margin-top: 2rem; }
.px-site .px-cta-banner--panel .px-cta-banner__actions { justify-content: center; }
.px-site .px-cta-banner__actions .px-button { min-width: 10rem; }
.px-site .px-cta-banner__actions .px-button span { font-size: 1.1em; margin-left: .35rem; }
.px-site .px-cta-banner__tertiary { align-items: center; color: var(--px-purple-400); display: inline-flex; font-weight: 700; gap: .25rem; margin-top: 1.25rem; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.px-site .px-cta-banner__tertiary:hover { color: var(--px-white); }
.px-site .px-cta-banner__tertiary:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }
@media (max-width: 640px) { .px-site .px-cta-banner { padding: 4rem 0; } .px-site .px-cta-banner__surface { padding-left: 1.25rem; padding-right: 1.25rem; } .px-site .px-cta-banner--panel .px-cta-banner__surface { padding: 2rem 1.25rem; } .px-site .px-cta-banner__actions { align-items: stretch; flex-direction: column; } .px-site .px-cta-banner__actions .px-button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .px-site .px-cta-banner *, .px-site .px-cta-banner::before { transition: none !important; } }
