:root{
  --kb-red:#b91c1c;
  --kb-red-2:#7f1d1d;
  --kb-red-soft:#fee2e2;
  --kb-gold:#c9a24c;
  --kb-ink:#0b1220;
  --kb-muted:#64748b;
  --kb-bg:#f7f9fc;
  --kb-card:#ffffff;
  --kb-grad:linear-gradient(135deg,#b91c1c 0%,#7f1d1d 100%);
  --kb-grad-soft:linear-gradient(135deg,#fff5f5 0%,#fee2e2 100%);
  --kb-shadow:0 12px 40px rgba(15,23,42,.08);
}
*{ -webkit-font-smoothing:antialiased; }
body{ font-family:'Inter',sans-serif; color:var(--kb-ink); background:#fff; }
h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; letter-spacing:-.02em;}
a{ text-decoration:none; }

/* Nav */
.kb-nav{ background:rgba(255,255,255,.85); backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid rgba(15,23,42,.06); transition:.3s;}
.kb-nav.scrolled{ box-shadow:0 6px 24px rgba(15,23,42,.06); background:#fff;}
.kb-spacer{ height:78px; }
.brand-mark{ width:38px; height:38px; border-radius:10px; background:var(--kb-grad); color:#fff; display:grid; place-items:center; font-weight:800; box-shadow:0 6px 18px rgba(185,28,28,.35);}
.brand-text{ font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.15rem; color:var(--kb-ink);}
.navbar .nav-link{ font-weight:500; color:#1f2937; padding:.6rem .9rem; border-radius:8px;}
.navbar .nav-link:hover{ background:var(--kb-red-soft); color:var(--kb-red); }
.mega-menu{ min-width:520px; border:0; border-radius:18px; box-shadow:var(--kb-shadow); }
.mega-card{ display:flex; gap:12px; align-items:center; padding:12px; border-radius:12px; color:#111; transition:.2s; background:#f9fafb;}
.mega-card:hover{ background:var(--kb-red-soft); transform:translateY(-2px);}
.mega-card i{ font-size:1.5rem; color:var(--kb-red); width:44px; height:44px; display:grid; place-items:center; background:#fff; border-radius:10px;}

.btn-kb-primary{ background:var(--kb-grad); color:#fff; border:0; padding:.65rem 1.4rem; border-radius:10px; font-weight:600; box-shadow:0 8px 22px rgba(185,28,28,.3); transition:.2s;}
.btn-kb-primary:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 12px 30px rgba(185,28,28,.4);}
.btn-kb-outline{ border:1.5px solid var(--kb-red); color:var(--kb-red); background:transparent; padding:.6rem 1.3rem; border-radius:10px; font-weight:600;}
.btn-kb-outline:hover{ background:var(--kb-red); color:#fff;}

/* Hero */
.kb-hero{ position:relative; padding:80px 0 90px; background:radial-gradient(1000px 500px at 80% -10%, #fee2e2 0%, transparent 60%), linear-gradient(180deg,#fff,#fff7f7); overflow:hidden;}
.kb-hero h1{ font-size:clamp(2.2rem,4.5vw,3.6rem); line-height:1.1;}
.kb-hero .gold{ color:var(--kb-gold);}
.kb-hero .red{ background:var(--kb-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-card{ background:rgba(255,255,255,.7); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.5); border-radius:24px; box-shadow:var(--kb-shadow); padding:28px;}
.hero-blob{ position:absolute; right:-120px; top:-120px; width:480px; height:480px; background:var(--kb-grad); opacity:.08; border-radius:50%; filter:blur(20px); z-index:0;}

/* Sections */
section{ padding:80px 0;}
.section-title{ text-align:center; margin-bottom:48px;}
.section-title .eyebrow{ color:var(--kb-red); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.8rem;}
.section-title h2{ font-size:clamp(1.8rem,3vw,2.6rem); margin-top:8px;}
.section-title p{ color:var(--kb-muted); max-width:640px; margin:10px auto 0;}

/* Loan cards */
.loan-card{ background:#fff; border:1px solid #eef0f5; border-radius:20px; padding:28px; height:100%; transition:.3s; position:relative; overflow:hidden;}
.loan-card::before{ content:''; position:absolute; inset:0; background:var(--kb-grad); opacity:0; transition:.3s; z-index:0;}
.loan-card > *{ position:relative; z-index:1;}
.loan-card:hover{ transform:translateY(-8px); box-shadow:var(--kb-shadow); border-color:transparent;}
.loan-card:hover::before{ opacity:1;}
.loan-card:hover h5, .loan-card:hover p, .loan-card:hover .micro, .loan-card:hover .arrow{ color:#fff;}
.loan-card:hover .icon{ background:rgba(255,255,255,.18); color:#fff;}
.loan-card .icon{ width:60px; height:60px; border-radius:16px; display:grid; place-items:center; background:var(--kb-red-soft); color:var(--kb-red); font-size:1.6rem; margin-bottom:18px; transition:.3s;}
.loan-card h5{ font-weight:700;}
.loan-card .micro{ color:var(--kb-red); font-weight:600; font-size:.85rem;}
.loan-card .arrow{ position:absolute; right:24px; bottom:24px; color:var(--kb-muted);}

/* Why us */
.why-card{ padding:24px; border-radius:18px; background:#fff; border:1px solid #eef0f5; height:100%; transition:.2s;}
.why-card:hover{ transform:translateY(-4px); box-shadow:var(--kb-shadow);}
.why-card i{ font-size:2rem; background:var(--kb-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}

/* Counters */
.counters{ background:var(--kb-grad); color:#fff; padding:60px 0; border-radius:24px;}
.counters .num{ font-size:2.6rem; font-weight:800; font-family:'Plus Jakarta Sans';}
.counters .lbl{ opacity:.85;}

/* Calculator */
.calc-card{ background:#fff; border-radius:20px; padding:28px; box-shadow:var(--kb-shadow);}
.calc-card input[type=range]{ width:100%; accent-color:var(--kb-red);}
.calc-val{ font-weight:700; color:var(--kb-red);}
.emi-result{ background:var(--kb-grad-soft); border-radius:16px; padding:20px; text-align:center;}
.emi-result .big{ font-size:2rem; font-weight:800; color:var(--kb-red-2);}

/* Process */
.proc-step{ position:relative; text-align:center; padding:0 12px;}
.proc-step .n{ width:56px; height:56px; border-radius:50%; background:#fff; border:2px solid var(--kb-red); color:var(--kb-red); display:grid; place-items:center; font-weight:800; margin:0 auto 12px; font-size:1.2rem;}

/* Testimonials */
.test-card{ background:#fff; padding:24px; border-radius:18px; box-shadow:0 4px 18px rgba(15,23,42,.05); height:100%;}
.test-card .stars{ color:#f59e0b;}
.test-card .av{ width:48px; height:48px; border-radius:50%; background:var(--kb-grad); color:#fff; display:grid; place-items:center; font-weight:700;}

/* Footer */
.kb-footer{ background:#0b1220; color:#fff; padding-bottom:24px;}
.kb-footer a{ color:rgba(255,255,255,.7);} 
.kb-footer a:hover{ color:#fff;}
.kb-footer .social{ width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); display:grid; place-items:center; color:#fff;}
.kb-footer .social:hover{ background:var(--kb-red);}
.trust-badges span{ display:inline-block; padding:6px 10px; margin:2px; background:rgba(255,255,255,.06); border-radius:8px; font-size:.75rem; color:#cbd5e1;}

/* Float CTAs */
.float-wa,.float-call{ position:fixed; right:18px; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:#fff; font-size:1.4rem; z-index:999; box-shadow:0 10px 30px rgba(0,0,0,.2);}
.float-wa{ bottom:20px; background:#25d366;}
.float-call{ bottom:82px; background:var(--kb-red);}
.mobile-sticky{ position:fixed; bottom:0; left:0; right:0; background:#fff; border-top:1px solid #eef0f5; padding:8px; display:flex; gap:6px; z-index:998;}
.mobile-sticky .ms-btn{ flex:1; text-align:center; padding:10px; border-radius:10px; background:#f3f4f6; color:#111; font-weight:600; font-size:.85rem;}
.mobile-sticky .ms-btn.alt{ background:#25d366; color:#fff;}
.mobile-sticky .ms-btn.primary{ background:var(--kb-grad); color:#fff;}
@media(max-width:991px){ body{ padding-bottom:64px;} }

/* Modal */
.kb-modal{ border:0; border-radius:20px; overflow:hidden;}
.kb-modal .modal-body{ padding:1.5rem 1.75rem 2rem;}
.form-control,.form-select{ padding:.7rem .9rem; border-radius:10px; border-color:#e5e7eb;}
.form-control:focus,.form-select:focus{ border-color:var(--kb-red); box-shadow:0 0 0 .2rem rgba(185,28,28,.15);}
.form-label{ font-weight:500; font-size:.88rem; color:#334155;}

/* Page header */
.page-hero{ background:var(--kb-grad); color:#fff; padding:80px 0 60px; position:relative; overflow:hidden;}
.page-hero h1{ font-size:clamp(2rem,4vw,3rem);}
.page-hero p{ opacity:.9; max-width:680px;}
.page-hero::after{ content:''; position:absolute; right:-100px; bottom:-100px; width:300px; height:300px; background:rgba(255,255,255,.08); border-radius:50%;}

/* Bank partners */
.partner-strip{ background:#fff; border-radius:16px; padding:24px; box-shadow:var(--kb-shadow);}
.partner-strip .swiper-slide{ display:flex; align-items:center; justify-content:center; height:60px; color:#475569; font-weight:700; font-size:1.1rem; opacity:.7;}

/* FAQ */
.accordion-button:not(.collapsed){ background:var(--kb-red-soft); color:var(--kb-red-2);}
.accordion-button:focus{ box-shadow:none;}
.accordion-item{ border:1px solid #eef0f5; border-radius:12px !important; margin-bottom:10px; overflow:hidden;}

/* Lead form section */
.lead-section{ background:var(--kb-grad); color:#fff; border-radius:24px; padding:48px; position:relative; overflow:hidden;}
.lead-section .form-control{ background:rgba(255,255,255,.95);}
