Step 1
What kind of property are you looking to design or renovate?
We'll tailor the remaining questions based on your property type.
Please select a property type to continue.
🏠
Residential Home
Independent house or villa
🏢
Apartment / Flat
1BHK to 5BHK apartments
🏛️
Luxury Villa
Premium villa interiors
💼
Office Space
Corporate & co-working
🛍️
Retail Store
Shop & showroom interiors
🍽️
Restaurant / Café
Hospitality interiors
← Back
Next →
Step 2
Select your BHK type
Choose the configuration that matches your home.
Please select a BHK type to continue.
← Back
Next →
Step 2
Tell us about your space
Help us understand the scale of your project.
Please fill in your approximate area.
Approximate Area *
Unit sq ftsq mt
Number of Floors / Levels 1234+
← Back
Next →
Step 3
Select the rooms you'd like us to design
Adjust the count for each room type. Set to 0 to skip.
Please select at least one room to continue.
← Back
Next →
Step 3
Select areas to design
Choose the areas you want us to work on.
← Back
Next →
Step 4
Wardrobe preferences
Let us know your wardrobe requirements for each bedroom.
← Back
Next →
Step 5
Select the layout of your kitchen
Choose the shape that fits your space.
Please select a kitchen layout to continue.
A
B
C
← Back
Next →
Step 6
Pick your package
Choose a package that fits your budget and design aspirations.
Please select a package to continue.
Essentials ₹₹
A range of basic units and accessories necessary for a comfortable space.
Affordable pricing Functional designs Basic accessories
Premium ₹₹₹
Sleek fixtures, hardware and fittings for an elegant design.
Mid-range pricing Premium designs Wide accessories
Luxe ₹₹₹₹
A fine blend of aesthetics and high functionality with chic-looking units and accessories.
Elite pricing Lavish designs Extensive accessories
Build Your Own Custom
A flexible, built-to-suit option — pick and choose from well-crafted finishes and accessories.
Customised pricing Flexible designs Choose accessories
← Back
Next →
Step 7
Materials for cabinets and shutters
Each material has its own strengths. Pick what suits your kitchen's exposure and your budget.
Please select a material to continue.
HDHMR
High strength & density with solid screw-holding capacity
₹₹₹
Good load-bearing capacity
MR Plywood
Moisture & termite resistant, does not wear off easily
₹₹
Budget-friendly & durable
BWR Plywood
Water resistant, works well in areas prone to water exposure
₹₹
Frequent water exposure
BWP Plywood
Fully waterproof, withstands prolonged exposure to water and moisture
← Back
Next →
Last Step
Your details & final preferences
Almost there! Fill in your contact details so we can send you a personalised quote.
Add granite countertop?
With laminated ply, without backsplash
Please select a countertop option.
Yes, please
Granite countertop included
No, skip
Continue without it
Your contact details
Please fill in your name, phone and email to continue.
← Back
Get My Quote →
We've received your request!
Our design experts will contact you within 24 hours with a personalised quote based on your selections.
(function(){
'use strict';
var S={prop:'',propType:'',bhk:'',bhkSize:'',rooms:{},scopeItems:{},wardrobes:{},layout:'',package:'',material:'',countertop:'',spaceArea:'',spaceUnit:'sq ft',spaceFloors:'1',flow:[],pos:0};
var BHK_OPTIONS=[
{label:'1 BHK',sizes:null},
{label:'2 BHK',sizes:[{name:'Small',range:'Below 800 sq ft'},{name:'Large',range:'Above 800 sq ft'}]},
{label:'3 BHK',sizes:[{name:'Small',range:'Below 1200 sq ft'},{name:'Large',range:'Above 1200 sq ft'}]},
{label:'4 BHK',sizes:[{name:'Small',range:'Below 1600 sq ft'},{name:'Large',range:'Above 1600 sq ft'}]},
{label:'5 BHK+',sizes:null}
];
var BHK_ROOMS={
'1 BHK':{'Living Room':1,'Kitchen':1,'Bedroom':1,'Bathroom':1,'Dining':0},
'2 BHK':{'Living Room':1,'Kitchen':1,'Bedroom':2,'Bathroom':2,'Dining':1},
'3 BHK':{'Living Room':1,'Kitchen':1,'Bedroom':3,'Bathroom':2,'Dining':1},
'4 BHK':{'Living Room':1,'Kitchen':1,'Bedroom':4,'Bathroom':3,'Dining':1},
'5 BHK+':{'Living Room':1,'Kitchen':1,'Bedroom':5,'Bathroom':4,'Dining':1}
};
var ROOM_MAX={'Bedroom':10,'Bathroom':10};
var COMM_SCOPE={
'Office Space':['Reception','Workstation Area','Meeting Room','Cabin / Director\'s Room','Pantry','Washroom'],
'Retail Store':['Display Area','Trial Room','Cashier Counter','Storage Room','Entrance / Facade'],
'Restaurant / Café':['Dining Area','Bar / Counter','Kitchen','Reception','Washroom','Outdoor Seating']
};
var DIM_CFG={
'L-Shaped':{a:'Left wall',b:'Bottom wall',c:'Right wall',showB:true,showC:true},
'Straight':{a:'Wall length',b:'',c:'',showB:false,showC:false},
'U-Shaped':{a:'Left wall',b:'Bottom wall',c:'Right wall',showB:true,showC:true},
'Parallel':{a:'Wall 1 length',b:'Wall 2 length',c:'',showB:true,showC:false}
};
var TAB_LABELS={'kf-p1':'Property','kf-p2':'BHK','kf-p2b':'Space','kf-p3':'Rooms','kf-p3b':'Scope','kf-p4':'Wardrobe','kf-p5':'Kitchen','kf-p6':'Package','kf-p7':'Material','kf-p8':'Details'};
var GROUP_CARDS={layout:['kf-lc-l','kf-lc-s','kf-lc-u','kf-lc-p'],package:['kf-pkg-e','kf-pkg-p','kf-pkg-l','kf-pkg-c'],material:['kf-mat-hdf','kf-mat-mdf','kf-mat-mr','kf-mat-bwr','kf-mat-bwp'],countertop:['kf-ct-yes','kf-ct-no']};
var GROUP_ERR={layout:'kf-err-layout',package:'kf-err-pkg',material:'kf-err-mat',countertop:'kf-err-ct'};
function buildFlow(){
var f=['kf-p1'];
if(S.propType==='residential'){f.push('kf-p2','kf-p3','kf-p4','kf-p5');}
else{f.push('kf-p2b','kf-p3b');}
f.push('kf-p6','kf-p7','kf-p8');
S.flow=f;
}
function getEffectiveFlow(){
return S.flow.filter(function(p){
if(p==='kf-p4'&&(S.rooms['Bedroom']||0)===0)return false;
if(p==='kf-p5'&&S.propType==='residential'&&(S.rooms['Kitchen']||0)===0)return false;
if(p==='kf-p5'&&S.propType!=='residential')return false;
if(p==='kf-p7'){var hk=S.propType==='residential'?(S.rooms['Kitchen']||0)>0:(S.scopeItems['Kitchen']||0)>0;if(!hk)return false;}
return true;
});
}
function renderTabs(){
var ef=getEffectiveFlow(),cur=currentPanel(),bar=document.getElementById('kf-steps-bar');
bar.innerHTML='';
ef.forEach(function(pid,i){
var tab=document.createElement('div');
tab.className='kf-step-tab';
var ci=ef.indexOf(cur);
if(i===ci)tab.classList.add('active');
else if(i<ci)tab.classList.add('done');
tab.innerHTML='
'+(i+1)+'
'+(TAB_LABELS[pid]||'')+'
';
(function(p,idx){tab.onclick=function(){if(idx1?((ci2+1)/ef.length)*100:10)+'%';
}
function currentPanel(){var a=document.querySelector('.kf-panel.active');return a?a.id:'kf-p1';}
function showPanel(pid){
document.querySelectorAll('.kf-panel').forEach(function(p){p.classList.remove('active');});
var el=document.getElementById(pid);if(el)el.classList.add('active');
}
function jumpTo(pid){showPanel(pid);renderTabs();}
window.kfPickProp=function(input){
document.querySelectorAll('.kf-prop-card').forEach(function(c){c.classList.remove('selected');});
input.closest('label').classList.add('selected');
S.prop=input.value;
S.propType=['Residential Home','Apartment / Flat','Luxury Villa'].indexOf(S.prop)>=0?'residential':'commercial';
document.getElementById('kf-err-prop').classList.remove('show');
buildFlow();
if(S.propType==='residential')renderBhkList();else renderScopeList();
updateCountertopVisibility();
};
function renderBhkList(){
var list=document.getElementById('kf-bhk-list');list.innerHTML='';
BHK_OPTIONS.forEach(function(opt){
var card=document.createElement('div');card.className='kf-bhk-card';
var hasSz=opt.sizes&&opt.sizes.length;
card.innerHTML=''+
'
'+(hasSz?renderSizesHTML(opt):'')+'
';
card.querySelector('.kf-bhk-header').addEventListener('click',function(){kfPickBhkCard(card,opt);});
list.appendChild(card);
});
}
function renderSizesHTML(opt){
var html='
';
opt.sizes.forEach(function(sz){html+='
';});
return html+'
';
}
function kfPickBhkCard(card,opt){
document.querySelectorAll('.kf-bhk-card').forEach(function(c){c.classList.remove('selected');});
card.classList.add('selected');card.querySelector('input').checked=true;
S.bhk=opt.label;S.bhkSize='';
card.querySelectorAll('.kf-bhk-size').forEach(function(s){s.classList.remove('selected');});
var first=card.querySelector('.kf-bhk-size');
if(first){first.classList.add('selected');S.bhkSize=first.dataset.size;}
document.getElementById('kf-err-bhk').classList.remove('show');
buildRoomsFromBhk();
}
window.kfPickSize=function(el,sizeName){
el.closest('.kf-bhk-card').querySelectorAll('.kf-bhk-size').forEach(function(s){s.classList.remove('selected');});
el.classList.add('selected');S.bhkSize=sizeName;
};
function buildRoomsFromBhk(){
var d=BHK_ROOMS[S.bhk]||{'Living Room':1,'Kitchen':1,'Bedroom':1,'Bathroom':1};
S.rooms=JSON.parse(JSON.stringify(d));renderRoomList();buildWardrobeSection();
}
function renderRoomList(){
var list=document.getElementById('kf-room-list');list.innerHTML='';
['Living Room','Kitchen','Bedroom','Bathroom','Dining'].forEach(function(room){
var val=S.rooms[room]!==undefined?S.rooms[room]:0;
appendCounterRow(list,room,val,'',function(r,v){S.rooms[r]=v;if(r==='Bedroom')buildWardrobeSection();updateCountertopVisibility();},ROOM_MAX[room]||5);
});
}
function renderScopeList(){
var list=document.getElementById('kf-scope-list');list.innerHTML='';
(COMM_SCOPE[S.prop]||[]).forEach(function(scope){
S.scopeItems[scope]=S.scopeItems[scope]||0;
appendCounterRow(list,scope,0,'',function(r,v){S.scopeItems[r]=v;updateCountertopVisibility();},5);
});
}
function appendCounterRow(container,label,initVal,hint,onChange,max){
var row=document.createElement('div');
row.className='kf-room-row'+(initVal>0?' active':'');
row.innerHTML='
'+label+'
'+(hint?'
'+hint+'
':'')+'
'+
'
<button class="kf-counter-btn kf-dec" type="button"'+(initVal−'+
''+initVal+' '+
'=max?' disabled':'')+'>+
';
var dec=row.querySelector('.kf-dec'),inc=row.querySelector('.kf-inc'),val=row.querySelector('.kf-counter-val'),cur=initVal;
dec.addEventListener('click',function(){if(cur>0){cur--;val.textContent=cur;dec.disabled=cur0);onChange(label,cur);}});
inc.addEventListener('click',function(){if(cur=max;dec.disabled=false;row.classList.add('active');onChange(label,cur);}});
container.appendChild(row);
}
function buildWardrobeSection(){
var content=document.getElementById('kf-ward-content');content.innerHTML='';
var bc=S.rooms['Bedroom']||0;if(!bc)return;
for(var i=1;i<=bc;i++){
var lbl=bc===1?'Bedroom':'Bedroom '+i;
S.wardrobes[lbl]=S.wardrobes[lbl]||'No';
content.innerHTML+='
'+lbl+' Wardrobe
Built-in modular wardrobe
'+
'
';
}
}
window.kfWardToggle=function(el,label,val){
el.closest('.kf-toggle-wrap').querySelectorAll('.kf-toggle-opt').forEach(function(o){o.classList.remove('selected');});
el.classList.add('selected');S.wardrobes[label]=val;
};
function updateCountertopVisibility(){
var hasK=S.propType==='residential'?(S.rooms['Kitchen']||0)>0:(S.scopeItems['Kitchen']||0)>0;
var sec=document.getElementById('kf-countertop-section');
if(sec)sec.style.display=hasK?'':'none';
}
window.kfPickGroup=function(input,group){
GROUP_CARDS[group].forEach(function(id){var e=document.getElementById(id);if(e)e.classList.remove('selected');});
input.closest('label').classList.add('selected');
S[group]=input.value;
var err=document.getElementById(GROUP_ERR[group]);if(err)err.classList.remove('show');
if(group==='layout')updateDimLabels(input.value);
};
function updateDimLabels(layout){
var cfg=DIM_CFG[layout];if(!cfg)return;
document.getElementById('kf-lbl-a').textContent=cfg.a;
document.getElementById('kf-lbl-b').textContent=cfg.b;
document.getElementById('kf-row-b').style.display=cfg.showB?'':'none';
document.getElementById('kf-row-c').style.display=cfg.showC?'':'none';
}
window.kfNext=function(fromKey){
var cur=currentPanel();
if(cur==='kf-p1'&&!S.prop){document.getElementById('kf-err-prop').classList.add('show');return;}
if(cur==='kf-p2'&&!S.bhk){document.getElementById('kf-err-bhk').classList.add('show');return;}
if(cur==='kf-p2b'){
var area=document.getElementById('kf-space-area').value.trim();
if(!area){document.getElementById('kf-err-space').classList.add('show');return;}
S.spaceArea=area;S.spaceUnit=document.getElementById('kf-space-unit').value;S.spaceFloors=document.getElementById('kf-space-floors').value;
document.getElementById('kf-err-space').classList.remove('show');
}
if(cur==='kf-p3'){
var tot=0;Object.keys(S.rooms).forEach(function(k){tot+=S.rooms[k];});
if(tot===0){document.getElementById('kf-err-rooms').classList.add('show');return;}
buildWardrobeSection();updateCountertopVisibility();
}
if(cur==='kf-p5'&&!S.layout){document.getElementById('kf-err-layout').classList.add('show');return;}
if(cur==='kf-p6'&&!S.package){document.getElementById('kf-err-pkg').classList.add('show');return;}
if(cur==='kf-p7'&&!S.material){document.getElementById('kf-err-mat').classList.add('show');return;}
var ef=getEffectiveFlow(),ci=ef.indexOf(cur);
if(ci0)jumpTo(ef[ci-1]);
};
window.kfSubmit=function(){
var ctSec=document.getElementById('kf-countertop-section');
if(ctSec&&ctSec.style.display!=='none'&&!S.countertop){document.getElementById('kf-err-ct').classList.add('show');return;}
var name=document.getElementById('kf-name').value.trim();
var phone=document.getElementById('kf-phone').value.trim();
var email=document.getElementById('kf-email').value.trim();
if(!name||!phone||!email){document.getElementById('kf-err-contact').classList.add('show');return;}
document.getElementById('kf-err-contact').classList.remove('show');
var btn=document.getElementById('kf-submit-btn');
btn.innerHTML='
Sending…';btn.disabled=true;
var roomsStr=Object.keys(S.rooms).filter(function(k){return S.rooms[k]>0;}).map(function(k){return k+(S.rooms[k]>1?' ×'+S.rooms[k]:'');}).join(', ');
var scopeStr=Object.keys(S.scopeItems).filter(function(k){return S.scopeItems[k]>0;}).map(function(k){return k+(S.scopeItems[k]>1?' ×'+S.scopeItems[k]:'');}).join(', ');
var wardStr=Object.keys(S.wardrobes).filter(function(k){return S.wardrobes[k]==='Yes';}).join(', ')||'None';
var cf7Form=document.querySelector('#kf-cf7-wrapper form');
function setHidden(name,value){
if(!cf7Form)return;
var el=cf7Form.querySelector('[name="'+name+'"]');
if(el){el.value=value;}
else{var h=document.createElement('input');h.type='hidden';h.name=name;h.value=value;cf7Form.appendChild(h);}
}
setHidden('property_type',S.prop);
setHidden('bhk_type',S.bhk||'N/A');
setHidden('bhk_size',S.bhkSize||'N/A');
setHidden('rooms_selected',roomsStr||scopeStr||'N/A');
setHidden('scope_selected',scopeStr||'N/A');
setHidden('wardrobe_details',wardStr);
setHidden('kitchen_layout',S.layout||'N/A');
setHidden('dimension_a',document.getElementById('kf-dimA').value+' ft');
setHidden('dimension_b',document.getElementById('kf-dimB').value+' ft');
setHidden('dimension_c',document.getElementById('kf-dimC').value+' ft');
setHidden('selected_package',S.package);
setHidden('selected_material',S.material||'N/A');
setHidden('granite_countertop',S.countertop||'N/A');
setHidden('space_area',S.spaceArea?S.spaceArea+' '+S.spaceUnit:'N/A');
setHidden('space_floors',S.spaceFloors||'N/A');
setHidden('your-name',name);
setHidden('tel-your-phone',phone);
setHidden('your-email',email);
setHidden('your-city',document.getElementById('kf-city').value.trim()||'N/A');
setHidden('your-message',document.getElementById('kf-message').value.trim());
if(!cf7Form){
/* Preview / dev mode — no CF7 form found */
console.warn('CF7 form not found. Add your form shortcode inside #kf-cf7-wrapper and replace YOUR_FORM_ID_HERE.');
setTimeout(function(){showSuccess(name,roomsStr||scopeStr,wardStr);},900);
return;
}
var cf7Submit=cf7Form.querySelector('[type="submit"]');
if(cf7Submit)cf7Submit.click();
document.addEventListener('wpcf7mailsent',function onSent(){
document.removeEventListener('wpcf7mailsent',onSent);
showSuccess(name,roomsStr||scopeStr,wardStr);
},{once:true});
document.addEventListener('wpcf7mailfailed',function onFail(){
document.removeEventListener('wpcf7mailfailed',onFail);
btn.innerHTML='Get My Quote →';btn.disabled=false;
alert('There was a problem sending your request. Please try again or contact us directly.');
},{once:true});
document.addEventListener('wpcf7invalid',function onInv(){
document.removeEventListener('wpcf7invalid',onInv);
btn.innerHTML='Get My Quote →';btn.disabled=false;
alert('Some required fields are missing. Please check your details and try again.');
},{once:true});
};
function showSuccess(name,rooms,wards){
document.getElementById('kf-form-area').style.display='none';
document.getElementById('kf-stepper').style.display='none';
var suc=document.getElementById('kf-success');suc.classList.add('show');
var rows=[
['Property',S.prop],
S.bhk?['Configuration',S.bhk+(S.bhkSize?' – '+S.bhkSize:'')]:null,
S.spaceArea?['Space',S.spaceArea+' '+S.spaceUnit]:null,
rooms?['Rooms / Areas',rooms]:null,
Object.keys(S.wardrobes).length?['Wardrobes',wards]:null,
S.layout?['Kitchen Layout',S.layout]:null,
['Package',S.package],
S.material?['Cabinet Material',S.material]:null,
S.countertop?['Granite Countertop',S.countertop]:null
].filter(Boolean);
document.getElementById('kf-summary').innerHTML=rows.map(function(r){
return '
'+r[0]+' '+r[1]+'
';
}).join('');
suc.scrollIntoView({behavior:'smooth',block:'start'});
}
buildFlow();renderTabs();updateCountertopVisibility();
})();