/* Public pricing only: never extend these selectors to the app shell. */
.kp-pricing{--kp-ink:#26211d;--kp-muted:#746b63;--kp-line:#eadfd5;padding:64px 28px;background:#f0eaf7;isolation:isolate;scroll-margin-top:92px}
.kp-pricing.kp-pricing--page{padding-top:128px;min-height:80vh}
.kp-pricing .pricing-bg-effect{inset:0;width:100%;height:100%;opacity:.4;background-image:radial-gradient(#c9b8dc .7px,transparent .7px);background-size:16px 16px;mix-blend-mode:normal;mask-image:linear-gradient(#000,transparent 70%)}
.kp-pricing .pricing-header{max-width:700px;margin:0 auto 22px}
.kp-pricing-eyebrow{display:block;color:#ab5526;font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:10px}
.kp-pricing .pricing-title{font-size:clamp(27px,3vw,40px);font-weight:600;letter-spacing:-.045em;color:var(--kp-ink);line-height:1.13;margin:0 0 12px}
.kp-pricing .pricing-pill{padding:0;border:0;border-radius:0;background:none;color:#db6428;text-transform:none;display:inline}
.kp-pricing .pricing-subtitle{font-size:14px;line-height:1.6;width:100%;max-width:560px;color:var(--kp-muted)}
.kp-pricing .pricing-toggle-container{margin-bottom:26px}
.kp-pricing .pricing-toggle-bg{display:flex;width:auto;background:#f4e8dd;border:1px solid #ead7c6;border-radius:12px;padding:4px;box-shadow:none;gap:3px}
.kp-pricing .pricing-toggle-btn{height:36px;min-height:36px;min-width:104px;padding:0 12px;font-size:12px;border-radius:8px;color:#6f5e51;font-weight:600}
.kp-pricing .pricing-toggle-btn.active{background:#fff;box-shadow:0 2px 5px #4d2b1712;color:var(--kp-ink)}
.kp-pricing .discount-badge{font-size:9px;padding:3px 6px;line-height:1.2;background:#fff1e5;color:#9a694b;border-radius:5px}
.kp-pricing .pricing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1400px;width:100%;gap:12px;margin:0 auto;padding:0;overflow:visible;scroll-snap-type:none}
.kp-pricing .pricing-card{position:relative;min-width:0;width:auto;flex:none;padding:20px 16px 18px;border:1px solid var(--kp-line);border-radius:16px;background:#fff;box-shadow:0 4px 16px #4d2b1707;transition:border-color .2s,box-shadow .2s;overflow:visible}
.kp-pricing .pricing-card:hover{border-color:#dfac86;box-shadow:0 8px 24px #4d2b1712;transform:none}
.kp-pricing .pricing-card-popular{border:1px solid #e06e30;background:linear-gradient(180deg,#fff3e9 0,#fff 52%);box-shadow:0 0 0 3px #f3d6bf80}
.kp-pricing .kp-plan-meta{font-size:9px;letter-spacing:.1em;font-weight:700;color:#9a735b;margin-bottom:9px}
.kp-pricing .pricing-card-header{margin:0 0 15px}
.kp-pricing .flex-between{display:block;position:relative}
.kp-pricing .pricing-card-header h3{font-size:17px;line-height:1.25;letter-spacing:-.035em;font-weight:600;color:var(--kp-ink);min-height:43px;margin:0 0 8px}
.kp-pricing .popular-badge{position:absolute;top:-32px;right:-3px;padding:3px 7px;font-size:9px;border-radius:5px;background:#fff0e4;color:#ab4d19;font-weight:600;white-space:nowrap}
.kp-pricing .pricing-card-header p{min-height:64px;margin:0 0 13px;font-size:12px;line-height:1.5;color:var(--kp-muted)}
.kp-pricing .price-wrap{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px;margin:0;min-height:40px}
.kp-pricing .price-wrap .currency{font-size:16px;margin:0;color:var(--kp-ink)}
.kp-pricing .price-wrap .amount{font-size:clamp(23px,2.1vw,30px);font-weight:600;letter-spacing:-.06em;color:var(--kp-ink);font-variant-numeric:tabular-nums;line-height:1.2}
.kp-pricing .price-wrap .period{font-size:11px;color:var(--kp-muted);margin:0 0 0 2px}
.kp-pricing .pricing-card-content{display:flex;flex-direction:column;flex:1}
.kp-pricing .pricing-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;padding:9px 5px;margin:0;border-radius:8px;font-size:11px;font-weight:600;box-shadow:none;line-height:1.3;transform:none;text-decoration:none}
.kp-pricing .pricing-btn-outline{background:#fff;border:1px solid #e2b795;color:var(--kp-ink)}
.kp-pricing .pricing-btn-primary{background:#d75c1f;border:1px solid #d75c1f;color:#fff}
.kp-pricing .pricing-btn:hover{background:#fff0e4;color:var(--kp-ink);box-shadow:none;transform:none}
.kp-pricing .pricing-btn-primary:hover{background:#bb4711;color:#fff}
.kp-pricing .pricing-btn svg{width:14px;height:14px;flex:none}
.kp-pricing a:focus-visible,.kp-pricing button:focus-visible{outline:3px solid #f09a61;outline-offset:3px}
.kp-pricing .pricing-note{font-size:10px;line-height:1.4;color:var(--kp-muted);text-align:center;margin:7px 0 15px}
.kp-pricing .pricing-capacity--compact{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:7px 10px;background:#fff9f4;border-radius:9px;border:1px solid #f2e6dc}
.kp-pricing .pricing-capacity-item{display:grid;grid-template-columns:16px 1fr auto;grid-template-rows:auto;align-items:center;gap:7px;padding:7px 0;border:0;border-bottom:1px solid #f1e6db;border-radius:0;background:none}
.kp-pricing .pricing-capacity-item:last-child{border-bottom:0}
.kp-pricing .pricing-capacity-item svg{grid-row:auto;width:14px;height:14px;color:#b96c3f}
.kp-pricing .pricing-capacity-item span{font-size:11px;line-height:1.3;color:#7c6b5d;overflow:visible;white-space:normal}
.kp-pricing .pricing-capacity-item strong{font-size:12px;line-height:1.3;font-weight:600;color:var(--kp-ink)}
.kp-pricing .pricing-includes{border:0;margin:16px 0 0;padding:0}
.kp-pricing .pricing-includes h4{font-size:10px;letter-spacing:.04em;color:#8f7562;font-weight:500;margin:0 0 10px;text-transform:uppercase}
.kp-pricing .pricing-includes li{font-size:11px;line-height:1.45;color:#675b52;align-items:flex-start;gap:7px;margin:0 0 8px}
.kp-pricing .pricing-includes svg{width:13px;height:13px;flex:0 0 13px;color:#c57242;margin-top:1px}
.kp-pricing--detail .pricing-card-header h3{min-height:0}
.kp-pricing--detail .pricing-features{padding:12px;background:#fff9f4;border-radius:10px}
.kp-pricing--detail .pricing-features li{font-size:13px;gap:8px;margin-bottom:9px}
.kp-pricing--detail .pricing-features svg{width:16px;height:16px;color:#c57242}
@media(max-width:1099px) and (min-width:701px){.kp-pricing .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.kp-pricing{padding:40px 16px}.kp-pricing.kp-pricing--page{padding-top:108px}.kp-pricing .pricing-grid{grid-template-columns:1fr;max-width:420px;gap:14px}.kp-pricing .pricing-card{padding:20px}.kp-pricing .pricing-card-header h3{min-height:0;font-size:21px}.kp-pricing .pricing-card-header p{min-height:0;font-size:13px;margin-bottom:12px}.kp-pricing .pricing-card-header{margin-bottom:12px}.kp-pricing .price-wrap .amount{font-size:32px}.kp-pricing .pricing-btn{font-size:13px;min-height:44px}.kp-pricing .pricing-includes ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.kp-pricing .pricing-includes li{margin:0}.kp-pricing .pricing-capacity-item span,.kp-pricing .pricing-capacity-item strong{font-size:12px}.kp-pricing .pricing-toggle-btn{min-width:96px;height:40px}.kp-pricing .popular-badge{top:-31px}.kp-pricing .pricing-subtitle{font-size:13px}}
@media(prefers-reduced-motion:reduce){.kp-pricing *{transition:none!important;animation:none!important}}

/* Coach and institution plans form two clearly labelled collections. */
.kp-pricing .kp-pricing-groups{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:22px;max-width:1400px;margin:0 auto;position:relative;z-index:10;align-items:stretch}
.kp-pricing .kp-plan-group{min-width:0}
.kp-pricing .kp-group-header{display:flex;align-items:center;gap:11px;min-height:72px;margin:0 0 12px;padding:12px 14px;border:1px solid #efdfd2;background:#fffaf6;border-radius:12px}
.kp-pricing .kp-plan-group--institution .kp-group-header{background:#fff4e9;border-color:#f1dac8}
.kp-pricing .kp-group-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#fff0e3;color:#d45f25}
.kp-pricing .kp-group-icon svg{width:17px;height:17px}
.kp-pricing .kp-group-header h2,.kp-pricing .kp-group-header h3{font-size:16px;line-height:1.2;font-weight:700;color:#30231a;margin:0 0 4px;letter-spacing:-.025em}
.kp-pricing .kp-group-header p{font-size:11px;line-height:1.35;color:#826e5e;margin:0}
.kp-pricing .kp-group-count{margin-left:auto;flex:none;border:1px solid #efdccf;border-radius:999px;padding:4px 7px;font-size:10px;color:#a75b30;font-weight:600;background:#fff;white-space:nowrap}
.kp-pricing .kp-plan-group--coach .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kp-pricing .kp-plan-group--institution .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.kp-pricing .pricing-card-header h3,.kp-pricing .pricing-card-header h4{font-size:17px;line-height:1.25;letter-spacing:-.035em;font-weight:600;color:var(--kp-ink);min-height:43px;margin:0 0 8px}
.kp-pricing .pricing-toggle-btn.active span{color:#3b291b!important}
.kp-pricing .pricing-toggle-btn:not(.active) span{color:#7c6759!important}
.kp-pricing .pricing-card-popular .kp-plan-meta{color:#bc541c}
.kp-pricing .pricing-btn-primary{background:#d75c1f;border-color:#d75c1f;color:#fff}
.kp-pricing .pricing-btn-primary:hover{background:#bb4711;color:#fff}
@media(max-width:1099px){.kp-pricing .kp-pricing-groups{grid-template-columns:1fr;max-width:850px}.kp-pricing .kp-plan-group--coach .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-pricing .kp-plan-group--institution .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kp-pricing .kp-pricing-groups{gap:25px;max-width:420px}.kp-pricing .kp-group-header{min-height:64px;margin-bottom:10px;padding:10px 12px}.kp-pricing .kp-group-header h2,.kp-pricing .kp-group-header h3{font-size:15px}.kp-pricing .kp-group-header p{font-size:10px}.kp-pricing .kp-plan-group--coach .pricing-grid,.kp-pricing .kp-plan-group--institution .pricing-grid{grid-template-columns:1fr}}
