:root { --kfp-red:#e30613; --kfp-red-dark:#b9000a; --kfp-black:#101114; --kfp-grey:#656871; --kfp-line:#e8e9ed; }
.kfp-root, .kfp-root * { box-sizing:border-box; }
.kfp-root { width:100%; color:var(--kfp-black); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
.kfp-shell { max-width:850px; margin:40px auto; padding:0 18px; }
.kfp-card { position:relative; overflow:hidden; min-height:580px; background:#fff; border:1px solid rgba(16,17,20,.08); border-radius:28px; box-shadow:0 24px 70px rgba(16,17,20,.11); }
.kfp-accent { width:86px; height:7px; margin:0 auto -7px; position:relative; z-index:2; border-radius:0 0 7px 7px; background:var(--kfp-red); }
.kfp-progress-wrap { padding:28px 38px 0; }
.kfp-progress-copy { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; color:var(--kfp-grey); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.kfp-progress-copy strong { color:var(--kfp-black); font-weight:750; }
.kfp-progress { height:5px; overflow:hidden; background:#f0f1f3; border-radius:20px; }
.kfp-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--kfp-red),#ff4b55); border-radius:20px; transition:width .35s ease; }
.kfp-question { max-width:690px; margin:0 auto; padding:58px 40px 40px; animation:kfp-enter .32s ease both; }
.kfp-question-icon { display:flex; align-items:center; justify-content:center; width:58px; height:58px; margin-bottom:20px; color:var(--kfp-red); background:#fff0f1; border-radius:18px; }
.kfp-icon { display:inline-flex; width:24px; height:24px; flex:0 0 auto; }
.kfp-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.kfp-kicker { margin:0 0 9px!important; color:var(--kfp-red)!important; font-size:12px!important; font-weight:800!important; letter-spacing:.12em!important; text-transform:uppercase; }
.kfp-question h2, .kfp-result h2 { margin:0; color:var(--kfp-black); font-size:clamp(27px,4vw,40px); line-height:1.13; letter-spacing:-.035em; font-weight:800; }
.kfp-helper { margin:12px 0 28px!important; color:var(--kfp-grey)!important; font-size:15px!important; }
.kfp-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.kfp-option { appearance:none; display:flex; align-items:center; gap:13px; width:100%; min-height:66px; padding:15px 17px; color:var(--kfp-black); background:#fff; border:1.5px solid var(--kfp-line); border-radius:15px; box-shadow:none; cursor:pointer; font:inherit; font-size:15px; font-weight:650; text-align:left; transition:border-color .18s,box-shadow .18s,transform .18s,background .18s; }
.kfp-option:hover { border-color:#c4c6cc; transform:translateY(-1px); box-shadow:0 7px 20px rgba(16,17,20,.06); }
.kfp-option:focus-visible, .kfp-button:focus-visible, .kfp-back:focus-visible { outline:3px solid rgba(227,6,19,.22); outline-offset:3px; }
.kfp-option.is-selected { color:var(--kfp-black); background:#fff8f8; border-color:var(--kfp-red); box-shadow:0 0 0 1px var(--kfp-red); }
.kfp-choice-mark { display:flex; align-items:center; justify-content:center; width:25px; height:25px; flex:0 0 auto; border:1.5px solid #cfd1d6; border-radius:50%; color:#fff; }
.kfp-option[role="checkbox"] .kfp-choice-mark { border-radius:7px; }
.kfp-option.is-selected .kfp-choice-mark { background:var(--kfp-red); border-color:var(--kfp-red); }
.kfp-choice-mark .kfp-icon { width:15px; height:15px; }
.kfp-error { margin:16px 0 0!important; color:var(--kfp-red)!important; font-size:13px!important; font-weight:650!important; }
.kfp-actions { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:34px; }
.kfp-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:54px; padding:14px 24px; color:#fff!important; background:var(--kfp-red); border:0; border-radius:13px; box-shadow:0 11px 25px rgba(227,6,19,.2); cursor:pointer; font:inherit; font-size:15px; font-weight:800; text-decoration:none!important; transition:background .18s,transform .18s,box-shadow .18s; }
.kfp-button:hover { color:#fff!important; background:var(--kfp-red-dark); transform:translateY(-1px); box-shadow:0 15px 30px rgba(227,6,19,.25); }
.kfp-button span:last-child { font-size:19px; line-height:1; }
.kfp-back, .kfp-text-button { appearance:none; padding:10px 0; color:var(--kfp-grey); background:transparent; border:0; cursor:pointer; font:inherit; font-size:14px; font-weight:700; }
.kfp-back:hover, .kfp-text-button:hover { color:var(--kfp-black); }
.kfp-disclaimer { display:flex; align-items:flex-start; gap:12px; max-width:760px; margin:22px auto 0; padding:16px 18px; color:#666a73; background:rgba(255,255,255,.82); border:1px solid rgba(192,36,45,.16); border-left:3px solid var(--kfp-red); border-radius:12px; box-shadow:0 12px 35px rgba(16,17,20,.06); backdrop-filter:blur(12px); }
.kfp-disclaimer .kfp-icon { width:18px; height:18px; margin-top:2px; color:var(--kfp-red); }
.kfp-disclaimer p { margin:0!important; color:inherit!important; font-size:11.5px!important; line-height:1.65!important; }
.kfp-disclaimer>div{flex:1;min-width:0}.kfp-disclaimer p+p{margin-top:12px!important}
.kfp-result { display:flex; flex-direction:column; align-items:center; max-width:650px; min-height:580px; margin:auto; padding:70px 38px 55px; text-align:center; justify-content:center; animation:kfp-enter .4s ease both; }
.kfp-result-badge { display:flex; align-items:center; justify-content:center; width:76px; height:76px; margin-bottom:25px; color:var(--kfp-red); background:#fff0f1; border-radius:24px; font-size:38px; font-weight:700; }
.kfp-result-success .kfp-result-badge { color:#fff; background:var(--kfp-red); box-shadow:0 12px 30px rgba(227,6,19,.24); }
.kfp-result-success .kfp-result-badge .kfp-icon { width:35px; height:35px; }
.kfp-result > p:not(.kfp-kicker) { max-width:590px; margin:18px 0 28px!important; color:var(--kfp-grey)!important; font-size:15px!important; line-height:1.75!important; }
.kfp-whatsapp { background:var(--kfp-black); box-shadow:0 11px 25px rgba(16,17,20,.18); }
.kfp-whatsapp:hover { background:#292b30; box-shadow:0 15px 30px rgba(16,17,20,.22); }
.kfp-whatsapp .kfp-icon { width:20px; height:20px; }
.kfp-text-button { margin-top:13px; }
@keyframes kfp-enter { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@media (max-width:640px) {
  .kfp-shell { margin:20px auto; padding:0 12px; }
  .kfp-card { min-height:570px; border-radius:21px; }
  .kfp-progress-wrap { padding:22px 22px 0; }
  .kfp-progress-copy span:first-child { display:none; }
  .kfp-progress-copy { justify-content:flex-end; }
  .kfp-question { padding:40px 22px 28px; }
  .kfp-question-icon { width:52px; height:52px; border-radius:16px; }
  .kfp-options { grid-template-columns:1fr; gap:10px; }
  .kfp-option { min-height:59px; }
  .kfp-actions { margin-top:25px; }
  .kfp-button { padding:13px 18px; }
  .kfp-result { min-height:570px; padding:48px 22px 35px; }
  .kfp-disclaimer { padding:0 6px; }
}
@media (prefers-reduced-motion:reduce) { .kfp-root * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
.kfp-application { max-width:710px; margin:0 auto; padding:45px 38px 42px; animation:kfp-enter .3s ease both; }
.kfp-application h2 { margin:0; font-size:clamp(27px,4vw,38px); line-height:1.14; letter-spacing:-.035em; }
.kfp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.kfp-field { display:flex; flex-direction:column; gap:7px; margin:0; color:var(--kfp-black); font-size:13px; font-weight:700; }
.kfp-field b { color:var(--kfp-red); }
.kfp-field input,.kfp-field textarea,.kfp-field select { width:100%; min-height:49px; margin:0; padding:11px 13px; color:var(--kfp-black); background:#fff; border:1.5px solid #dfe1e5; border-radius:11px; outline:0; box-shadow:none; font:inherit; font-size:14px; font-weight:500; transition:border .18s,box-shadow .18s; }
.kfp-field textarea { min-height:90px; resize:vertical; }
.kfp-field input:focus,.kfp-field textarea:focus,.kfp-field select:focus { border-color:var(--kfp-red); box-shadow:0 0 0 3px rgba(227,6,19,.09); }
.kfp-field.kfp-wide { grid-column:1/-1; }
.kfp-field-group { margin-top:30px; padding-top:24px; border-top:1px solid var(--kfp-line); }
.kfp-field-group h3 { margin:0 0 17px; font-size:16px; }
.kfp-upload-list { display:grid; gap:12px; }
.kfp-upload { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 18px; border:1.5px dashed #d3d5da; border-radius:13px; cursor:pointer; transition:.18s; }
.kfp-upload:hover { border-color:var(--kfp-red); background:#fffafa; }
.kfp-upload span { display:flex; flex-direction:column; gap:2px; }
.kfp-upload strong { font-size:14px; }
.kfp-upload small { color:var(--kfp-grey); font-size:11px; font-weight:500; }
.kfp-upload > b { flex:0 0 auto; padding:8px 12px; color:var(--kfp-red); background:#fff0f1; border-radius:9px; font-size:12px; }
.kfp-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.kfp-consent { display:flex; align-items:flex-start; gap:12px; margin-top:22px; padding:17px; background:#f7f7f8; border-radius:12px; color:#51545c; font-size:12px; line-height:1.6; cursor:pointer; }
.kfp-consent input { width:18px; height:18px; flex:0 0 auto; margin-top:2px; accent-color:var(--kfp-red); }
.kfp-honeypot { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.kfp-button:disabled { opacity:.65; cursor:wait; transform:none; }
.kfp-dark { background:var(--kfp-black); box-shadow:0 11px 25px rgba(16,17,20,.18); }
.kfp-dark:hover { background:#2a2b30; }
.kfp-success .kfp-result-badge { color:#fff; background:var(--kfp-red); }
.kfp-success strong { color:var(--kfp-black); }
@media(max-width:640px){.kfp-application{padding:35px 22px 28px}.kfp-form-grid{grid-template-columns:1fr}.kfp-field.kfp-wide{grid-column:auto}.kfp-upload{align-items:flex-start;flex-direction:column}.kfp-upload>b{align-self:flex-start}}

/* Standalone Kichose Motors enquiry form */
.kfp-enquiry-shell { max-width:760px; }
.kfp-enquiry-shell .kfp-card { min-height:0; }
.kfp-enquiry-form { max-width:680px; padding:52px 42px 46px; }
.kfp-enquiry-form .kfp-field textarea { min-height:150px; }
.kfp-enquiry-actions { justify-content:flex-end; margin-top:26px; }
.kfp-reference { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; max-width:430px; margin:0 auto; padding:16px; background:#f7f7f8; border:1px solid var(--kfp-line); border-radius:13px; }
.kfp-reference strong { color:var(--kfp-black)!important; font-size:18px; letter-spacing:.04em; }
.kfp-reference button { appearance:none; padding:9px 12px; color:#fff; background:var(--kfp-red); border:0; border-radius:9px; cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
.kfp-reference button:hover { background:var(--kfp-red-dark); }
.kfp-enquiry-complete { min-height:500px; }
@media(max-width:640px){.kfp-enquiry-form{padding:38px 22px 30px}.kfp-enquiry-actions .kfp-button{width:100%}.kfp-reference{flex-direction:column}.kfp-enquiry-complete{min-height:470px}}
