/* Shopify retainers section on the homepage (Core / Velocity / Premium). */
.kx-retainers{background:#f4f1fb;color:#211b38;padding:96px 0 104px;border-top:1px solid #dcd2f4;font-family:Inter,system-ui,sans-serif}
.kx-retainers *{box-sizing:border-box}
.kx-retainers-head{max-width:640px;margin:0 auto;text-align:center}
.kx-retainers-eyebrow{display:block;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6234b8}
.kx-retainers-head h2{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:600;margin:18px 0 20px;color:#160f2a}
.kx-retainers-head p{font-size:15px;line-height:1.7;color:#5e526f;margin:0 auto 12px;max-width:560px}
.kx-retainers-head p a{color:#6234b8;text-decoration:underline;text-underline-offset:3px}
.kx-retainers-head p a:hover{color:#4d2796}
.kx-retainers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.kx-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e3dcf3;border-radius:16px;padding:32px 30px 30px;box-shadow:0 12px 32px -24px #65489155;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
.kx-plan:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px #65489180;border-color:#c9b9ec}
.kx-plan-tier{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid #2d2146;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;line-height:1;color:#2d2146;background:#fff}
.kx-plan h3{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(26px,2.2vw,32px);line-height:1.1;letter-spacing:-.03em;font-weight:600;margin:28px 0 0;min-height:2.2em;color:#160f2a}
.kx-plan-includes{margin:40px 0 0;font-size:14px;font-weight:600;color:#2d2146}
.kx-plan ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}
.kx-plan li{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;color:#3a3150}
.kx-plan li svg{flex:0 0 16px;width:16px;height:16px;margin-top:2px;color:#2d2146}
.kx-plan-for{margin:26px 0 32px;font-size:14px;line-height:1.6;color:#5e526f}
.kx-plan-cta{display:inline-flex;align-items:stretch;align-self:flex-start;margin-top:auto;padding-top:0;border-radius:9999px;overflow:hidden;background:#0f0b1a;text-decoration:none;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#fff;box-shadow:0 10px 30px -14px #0f0b1a99;transition:transform .3s cubic-bezier(0,0,.2,1),box-shadow .3s,background .25s}
.kx-plan-cta>span{display:inline-flex;align-items:center;justify-content:center}
.kx-plan-cta .kx-cta-label{padding:.75rem 1.5rem;white-space:nowrap}
.kx-plan-cta .kx-cta-arrow{width:44px;margin:3px;border-radius:9999px;background:#6234b8;color:#fff;transition:background .25s}
.kx-plan-cta .kx-cta-arrow svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.kx-plan-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px -16px #6234b899;background:#1c1530}
.kx-plan-cta:hover .kx-cta-arrow{background:#7a4ad6}
.kx-plan-cta:hover .kx-cta-arrow svg{transform:translate(2px,2px)}
.kx-plan-cta:focus-visible{outline:2px solid #6234b8;outline-offset:4px}
/* Premium (dark) card */
.kx-plan-premium{background:#0a0616;border-color:#0a0616;color:#fff;box-shadow:0 24px 60px -30px #1a0b4acc}
.kx-plan-premium:hover{border-color:#3b2473;box-shadow:0 32px 64px -28px #2a1468e6}
.kx-plan-premium::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#4c2fb3 1.6px,transparent 1.9px);background-size:14px 14px;background-position:3px 3px;-webkit-mask-image:linear-gradient(118deg,transparent 42%,rgba(0,0,0,.35) 56%,#000 72%);mask-image:linear-gradient(118deg,transparent 42%,rgba(0,0,0,.35) 56%,#000 72%);opacity:.9}
.kx-plan-premium::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 55% at 85% 20%,rgba(139,92,246,.35),transparent 70%),radial-gradient(50% 40% at 95% 85%,rgba(34,211,238,.18),transparent 70%)}
.kx-plan-premium>*{position:relative;z-index:1}
.kx-plan-premium .kx-plan-tier{background:#6234b8;border-color:#6234b8;color:#fff}
.kx-plan-premium h3,.kx-plan-premium .kx-plan-includes{color:#fff}
.kx-plan-premium li{color:#e6e0f5}
.kx-plan-premium li svg{color:#fff}
.kx-plan-premium .kx-plan-for{color:#c9c0e0}
.kx-plan-premium .kx-plan-cta{background:#6234b8;box-shadow:0 10px 40px -10px #8b5cf699}
.kx-plan-premium .kx-plan-cta .kx-cta-arrow{background:#fff;color:#0f0b1a}
.kx-plan-premium .kx-plan-cta:hover{background:#7a4ad6}
.kx-plan-premium .kx-plan-cta:hover .kx-cta-arrow{background:#f1ecfb}
.kx-plan-premium .kx-plan-cta:focus-visible{outline-color:#fff}
@media (max-width:1023px){.kx-retainers-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.kx-plan h3{min-height:0}}
@media (max-width:640px){.kx-retainers{padding:72px 0 80px}.kx-plan{padding:26px 22px 24px}.kx-retainers-grid{margin-top:40px}.kx-plan-cta{align-self:stretch}.kx-plan-cta .kx-cta-label{flex:1 1 auto;padding:.75rem 1.25rem}}
@media (prefers-reduced-motion:reduce){.kx-plan,.kx-plan-cta,.kx-plan-cta .kx-cta-arrow svg{transition:none}.kx-plan:hover{transform:none}}
