/* Kapture public pricing: deliberately independent of the Tailwind build. */
.kp-pricing { --kp-ink:#121c36; --kp-muted:#66738c; --kp-line:#e2e8f4; --kp-blue:#385cf3; --kp-violet:#6746ea; --kp-green:#078c60; font-family:Montserrat,system-ui,sans-serif; background:#f7f9fd; color:var(--kp-ink); min-height:100vh; font-size:15px; line-height:1.6; }
.kp-pricing * { box-sizing:border-box; }
.kp-pricing a { text-decoration:none; }
.kp-pricing-container { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.kp-pricing-header { position:sticky; top:0; z-index:35; background:rgba(255,255,255,.97); border-bottom:1px solid var(--kp-line); box-shadow:0 4px 20px rgba(34,49,82,.035); backdrop-filter:blur(14px); }
.kp-pricing-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:82px; }
.kp-pricing-brand img { display:block; width:218px; max-width:100%; height:auto; }
.kp-pricing-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:24px; }
.kp-pricing-nav a { color:#263652; font-size:13px; font-weight:700; transition:color .15s; }
.kp-pricing-nav a:hover { color:var(--kp-blue); }
.kp-pricing-nav a.kp-pricing-nav-cta { background:var(--kp-blue); color:white; border-radius:12px; padding:11px 20px; box-shadow:0 8px 22px rgba(56,92,243,.2); }
.kp-pricing-main { padding:0 0 92px; }
.kp-pricing-hero { text-align:center; padding:78px 20px 50px; max-width:850px; margin:auto; }
.kp-pricing-eyebrow { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.13em; color:var(--kp-blue); text-transform:uppercase; }
.kp-pricing-hero h1 { max-width:780px; margin:15px auto 17px; font-size:clamp(34px,4.4vw,56px); line-height:1.15; letter-spacing:-.045em; font-weight:850; color:#0e1933; }
.kp-pricing-hero p { max-width:680px; margin:0 auto; font-size:16px; line-height:1.8; color:var(--kp-muted); }
.kp-pricing-hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.kp-pricing-btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; font-size:13px; font-weight:800; border-radius:11px; padding:13px 20px; min-height:46px; border:1px solid transparent; transition:transform .16s,box-shadow .16s,background .16s; white-space:nowrap; text-align:center; }
.kp-pricing-btn:hover { transform:translateY(-2px); }
.kp-pricing-btn:focus-visible,.kp-pricing-nav a:focus-visible,.kp-pricing-faq-list summary:focus-visible { outline:3px solid #a5b4fc; outline-offset:3px; }
.kp-pricing-btn-primary { background:var(--kp-blue); color:#fff !important; box-shadow:0 9px 22px rgba(56,92,243,.18); }
.kp-pricing-btn-outline { background:#fff; color:var(--kp-blue) !important; border-color:#ced8fb; }
.kp-pricing-btn-violet { color:#fff !important; background:linear-gradient(105deg,#7862f4,#563ce1); box-shadow:0 10px 23px rgba(103,70,234,.19); }
.kp-pricing-btn-green { color:#fff !important; background:linear-gradient(110deg,#10a56c,#087c55); box-shadow:0 10px 23px rgba(8,140,96,.18); }
.kp-pricing-btn-light { background:#fff; color:#2544a9 !important; }
.kp-pricing-btn-wide { width:100%; }
.kp-pricing-packages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:22px; padding-top:15px; }
.kp-pricing-plan { position:relative; scroll-margin-top:120px; display:flex; flex-direction:column; background:#fff; border:1.5px solid var(--kp-line); border-radius:22px; box-shadow:0 11px 34px rgba(21,35,75,.045); transition:box-shadow .2s,transform .2s; }
.kp-pricing-plan:hover { box-shadow:0 17px 42px rgba(21,35,75,.09); transform:translateY(-3px); }
.kp-pricing-plan-free { border-color:#d8e3fe; }
.kp-pricing-plan-pass { border-color:#b7a6ff; box-shadow:0 13px 36px rgba(103,70,234,.09); }
.kp-pricing-plan-pro { border-color:#a8e2c5; }
.kp-pricing-plan-ribbon { position:absolute; left:50%; top:-15px; transform:translateX(-50%); white-space:nowrap; background:var(--kp-violet); border-radius:30px; padding:6px 14px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.09em; }
.kp-pricing-plan-top { padding:31px 29px 25px; min-height:248px; border-bottom:1px solid #edf0f7; }
.kp-pricing-plan-kicker { font-size:10px; letter-spacing:.13em; font-weight:800; color:#78859d; }
.kp-pricing-plan h2 { font-size:21px; letter-spacing:-.035em; margin:12px 0 7px; line-height:1.35; font-weight:800; }
.kp-pricing-plan-free h2 { color:#294dcd; }
.kp-pricing-plan-pass h2 { color:#6544df; }
.kp-pricing-plan-pro h2 { color:#057c55; }
.kp-pricing-plan-intro { color:var(--kp-muted); font-size:13px; line-height:1.65; min-height:43px; margin:0; }
.kp-pricing-price { font-size:35px; font-weight:850; letter-spacing:-.045em; line-height:1.3; margin-top:20px; white-space:nowrap; }
.kp-pricing-price small { font-size:16px; letter-spacing:0; font-weight:800; }
.kp-pricing-price-note { margin:3px 0 0; font-size:12px; color:#7e8a9f; }
.kp-pricing-plan-body { padding:24px 29px 28px; display:flex; flex-direction:column; flex:1; }
.kp-pricing-plan-capacity { display:flex; flex-direction:column; gap:4px; padding-bottom:20px; }
.kp-pricing-plan-capacity strong { font-size:16px; font-weight:800; }
.kp-pricing-plan-capacity span { font-size:12px; color:var(--kp-muted); }
.kp-pricing-benefits { margin:0 0 28px; padding:0; list-style:none; flex:1; display:flex; flex-direction:column; gap:12px; }
.kp-pricing-benefits li { position:relative; padding-left:24px; color:#475670; font-size:12px; line-height:1.65; }
.kp-pricing-benefits li::before { content:'✓'; position:absolute; left:0; color:#4f64e9; font-weight:900; font-size:14px; }
.kp-pricing-plan-pro .kp-pricing-benefits li::before { color:#09966b; }
.kp-pricing-section { scroll-margin-top:108px; background:#fff; border:1px solid var(--kp-line); border-radius:22px; padding:36px 38px; margin-top:70px; box-shadow:0 9px 28px rgba(21,35,75,.03); }
.kp-pricing-section-head { max-width:730px; margin-bottom:27px; }
.kp-pricing-section-head h2 { margin:7px 0 8px; font-size:29px; line-height:1.25; letter-spacing:-.045em; font-weight:850; }
.kp-pricing-section-head p { color:var(--kp-muted); margin:0; font-size:14px; line-height:1.8; }
.kp-pricing-table-scroll { overflow-x:auto; border:1px solid var(--kp-line); border-radius:13px; }
.kp-pricing-table { width:100%; min-width:560px; border-collapse:collapse; color:#33425f; font-size:13px; }
.kp-pricing-table th,.kp-pricing-table td { padding:17px 20px; text-align:center; border-bottom:1px solid #e9edf6; }
.kp-pricing-table thead th { background:#f3f6fc; color:#25334f; font-weight:800; }
.kp-pricing-table th:first-child,.kp-pricing-table td:first-child { text-align:left; width:42%; }
.kp-pricing-table tbody th { font-weight:650; }
.kp-pricing-table tbody tr:nth-child(even) { background:#fbfcff; }
.kp-pricing-table tbody tr:last-child th,.kp-pricing-table tbody tr:last-child td { border-bottom:0; }
.kp-pricing-table th:nth-child(3),.kp-pricing-table td:nth-child(3) { background-color:#f8f5ff; }
.kp-pricing-section-note { color:#8490a6; font-size:12px; margin:17px 0 0; }
.kp-pricing-topups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.kp-pricing-topup { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:20px; background:#fafbfe; border:1px solid #e2e7f3; border-radius:16px; }
.kp-pricing-topup-icon { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; background:#e9ecff; color:#4d4edb; font-size:27px; font-weight:800; border-radius:13px; }
.kp-pricing-topup-info { flex:1; min-width:120px; }
.kp-pricing-topup h3 { margin:0; font-size:15px; font-weight:800; }
.kp-pricing-topup p { margin:3px 0 5px; font-size:12px; color:var(--kp-muted); }
.kp-pricing-topup strong { font-size:17px; font-weight:850; }
.kp-pricing-topup .kp-pricing-btn { padding:11px 16px; }
.kp-pricing-no-topups { grid-column:1/-1; color:var(--kp-muted); padding:20px; background:#f7f9fd; border-radius:12px; }
.kp-pricing-faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.kp-pricing-faq-list details { border:1px solid var(--kp-line); border-radius:13px; background:#fbfcff; padding:0 18px; }
.kp-pricing-faq-list summary { list-style:none; cursor:pointer; position:relative; color:#243251; font-weight:750; font-size:13px; padding:20px 25px 20px 0; }
.kp-pricing-faq-list summary::-webkit-details-marker { display:none; }
.kp-pricing-faq-list summary::after { content:'+'; position:absolute; right:0; top:17px; font-size:21px; color:#5869d2; }
.kp-pricing-faq-list details[open] summary::after { content:'−'; }
.kp-pricing-faq-list details p { margin:0; padding:0 0 19px; font-size:13px; line-height:1.7; color:var(--kp-muted); }
.kp-pricing-final-cta { margin-top:68px; background:linear-gradient(110deg,#233fb1,#6453df); border-radius:22px; padding:35px 42px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.kp-pricing-final-cta h2 { color:#fff; margin:0; font-size:25px; font-weight:850; letter-spacing:-.03em; }
.kp-pricing-final-cta p { color:#dfe7ff; margin:4px 0 0; font-size:13px; }
.kp-pricing-footer { border-top:1px solid var(--kp-line); background:#fff; color:#7b88a0; padding:23px 0; font-size:12px; }
.kp-pricing-footer .kp-pricing-container { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.kp-pricing-footer a { color:var(--kp-blue); font-weight:750; }
@media(max-width:1000px) { .kp-pricing-packages { gap:13px; } .kp-pricing-plan-top { padding:27px 21px 22px; } .kp-pricing-plan-body { padding:22px 21px; } .kp-pricing-topups { grid-template-columns:1fr; } }
@media(max-width:760px) { .kp-pricing-header-inner { padding:15px 0; min-height:72px; flex-wrap:wrap; } .kp-pricing-brand img { width:185px; } .kp-pricing-nav { gap:13px; justify-content:flex-start; } .kp-pricing-nav a { font-size:12px; } .kp-pricing-container { width:calc(100% - 34px); } .kp-pricing-hero { padding:53px 5px 37px; } .kp-pricing-hero h1 { font-size:37px; } .kp-pricing-packages { grid-template-columns:1fr; gap:24px; } .kp-pricing-plan-top { min-height:auto; } .kp-pricing-plan-intro { min-height:0; } .kp-pricing-section { margin-top:45px; padding:26px 21px; } .kp-pricing-section-head h2 { font-size:25px; } .kp-pricing-faq-list { grid-template-columns:1fr; } .kp-pricing-final-cta { margin-top:44px; flex-direction:column; align-items:flex-start; padding:28px 24px; } }
@media(max-width:460px) { .kp-pricing-nav { gap:10px; } .kp-pricing-nav a.kp-pricing-nav-cta { padding:9px 12px; } .kp-pricing-hero h1 { font-size:31px; } .kp-pricing-topup { align-items:flex-start; } .kp-pricing-topup .kp-pricing-btn { width:100%; } .kp-pricing-footer .kp-pricing-container { flex-direction:column; } }
