:root,.kfg-root{--kfg-green:#3f4a2b;--kfg-green-dark:#313a21;--kfg-line:#2a2a2a;--kfg-soft:#f3f1ec;--kfg-border:#ddd9d0;--color-primary:#1a1a1a;--color-secondary:#3d3d3d;--color-muted:#7a7a7a;--color-light:#f5f3f0;--color-white:#fff;--color-border:#e0ddd8;--font-serif:var(--font-playfair), Georgia, "Times New Roman", serif;--font-sans:var(--font-inter), "Inter", system-ui, sans-serif}.kfg-root{font-family:var(--font-sans);color:var(--color-primary)}.kfg-container{width:100%;max-width:1320px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:640px){.kfg-container{padding-left:2rem;padding-right:2rem}}.kfg-intro{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:2.5rem 0 2rem}button.kfg-opt,button.kfg-model-card,button.kfg-glass,button.kfg-swatch,button.kfg-step-dot{font:inherit;appearance:none}button.kfg-step-dot{padding:0}.kfg-intro-grid{grid-template-columns:minmax(0,320px) 1fr;align-items:start;gap:3rem;display:grid}.kfg-intro h1,.kfg-intro h2{font-family:var(--font-serif);color:var(--color-primary);letter-spacing:.5px;margin:0 0 .25rem;font-size:1.9rem;line-height:1.15}.kfg-intro .kfg-sub{color:var(--color-muted);font-size:.95rem}.kfg-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.kfg-idea p{color:var(--color-secondary);margin:0;font-size:.9rem;line-height:1.6}.kfg-steps{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.kfg-step-node{flex-direction:column;align-items:center;gap:.4rem;min-width:56px;display:flex}.kfg-step-dot{border:1.5px solid var(--kfg-border);background:var(--color-white);width:40px;height:40px;color:var(--color-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;transition:all .25s;display:flex}.kfg-step-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);text-align:center;font-size:.62rem;line-height:1.2}.kfg-step-arrow{color:var(--kfg-border);align-self:flex-start;margin:11px .1rem 0}.kfg-step-node.is-active .kfg-step-dot{background:var(--kfg-green);border-color:var(--kfg-green);color:#fff}.kfg-step-node.is-active .kfg-step-label{color:var(--color-primary);font-weight:600}.kfg-step-node.is-done .kfg-step-dot{background:var(--kfg-green);border-color:var(--kfg-green);color:#fff}.kfg-wrap{background:var(--color-light);padding:2.5rem 0 4rem}.kfg-layout{grid-template-columns:1fr minmax(320px,420px);align-items:start;gap:2.5rem;display:grid}.kfg-panel{background:var(--color-white);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;min-height:520px;padding:2rem 2rem 1.5rem;scroll-margin-top:90px;display:flex}.kfg-step-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--kfg-green);font-size:.72rem;font-weight:600}.kfg-step-title{font-family:var(--font-serif);margin:.4rem 0 .3rem;font-size:1.5rem}.kfg-step-desc{color:var(--color-muted);margin:0 0 1.5rem;font-size:.9rem}.kfg-model-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (max-width:600px){.kfg-model-grid{grid-template-columns:repeat(2,1fr)}}.kfg-model-card{border:1.5px solid var(--kfg-border);cursor:pointer;background:var(--color-white);border-radius:4px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;transition:all .2s;display:flex}.kfg-model-card:hover{border-color:var(--color-muted)}.kfg-model-card.is-active{border-color:var(--kfg-green);box-shadow:0 0 0 1px var(--kfg-green)}.kfg-model-card span{color:var(--color-secondary);font-size:.85rem;font-weight:600}.kfg-options{flex-direction:column;gap:.6rem;max-width:360px;display:flex}.kfg-opt{border:1.5px solid var(--kfg-border);cursor:pointer;background:var(--color-white);color:var(--color-secondary);text-align:center;border-radius:4px;padding:.85rem 1.1rem;font-size:.95rem;font-weight:500;transition:all .2s}.kfg-opt:hover{border-color:var(--color-muted)}.kfg-opt.is-active{border-color:var(--kfg-green);box-shadow:0 0 0 1px var(--kfg-green);color:var(--color-primary)}.kfg-row{flex-wrap:wrap;gap:.6rem;display:flex}.kfg-row .kfg-opt{flex:none;min-width:92px}.kfg-note{color:var(--color-muted);margin-top:1rem;font-size:.78rem;line-height:1.5}.kfg-subhead{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:1.4rem 0 .6rem;font-size:.72rem;font-weight:600}.kfg-swatches{flex-wrap:wrap;gap:1rem;max-width:460px;display:flex}.kfg-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:66px;height:66px;transition:all .18s;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.kfg-swatch:hover{transform:scale(1.06)}.kfg-swatch.is-active{border-color:var(--kfg-green);box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 1px var(--kfg-green)}.kfg-swatch--custom{background:conic-gradient(#e0483c,#e8913a,#e8cf3a,#6fbf59,#3ba7c9,#4d5cc4,#9a4fc0,#e0483c)}.kfg-color-note{max-width:460px;margin-top:1.1rem}.kfg-color-note label{color:var(--color-muted);margin-bottom:.45rem;font-size:.78rem;line-height:1.5;display:block}.kfg-color-note input{width:100%;font:inherit;border:1.5px solid var(--kfg-border);background:var(--color-white);color:var(--color-primary);border-radius:4px;padding:.7rem .85rem;font-size:.9rem}.kfg-color-note input:focus-visible{outline:2px solid var(--kfg-green);outline-offset:1px}.kfg-glass-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.9rem;max-width:380px;display:grid}.kfg-glass{border:1.5px solid var(--kfg-border);cursor:pointer;background:var(--color-white);border-radius:4px;transition:all .2s;overflow:hidden}.kfg-glass:hover{border-color:var(--color-muted)}.kfg-glass.is-active{border-color:var(--kfg-green);box-shadow:0 0 0 1px var(--kfg-green)}.kfg-glass.is-locked{opacity:.45;pointer-events:none;cursor:not-allowed}.kfg-glass.is-hidden{display:none}.kfg-glass-tex{height:70px}.kfg-glass-name{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);padding:.45rem 0;font-size:.72rem;display:block}.kfg-sprojs-counts{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.kfg-sprojs-counts .kfg-row .kfg-opt{min-width:56px}.kfg-sprojs-counts>div:first-child .kfg-subhead:first-child{margin-top:0}.kfg-sprojs-preview{border:1.5px solid var(--kfg-border);background:var(--color-white);border-radius:4px;flex-direction:column;align-items:center;gap:.5rem;margin:0;padding:.9rem;display:flex}.kfg-sprojs-preview svg{display:block}.kfg-sprojs-preview figcaption{color:var(--color-secondary);font-size:.78rem;font-weight:600}.kfg-nav{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.75rem;display:flex}.kfg-btn{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.kfg-btn--primary{background:var(--kfg-green);color:#fff}.kfg-btn--primary:hover{background:var(--kfg-green-dark)}.kfg-btn--ghost{color:var(--color-secondary);border:1px solid var(--kfg-border);background:0 0}.kfg-btn--ghost:hover{border-color:var(--color-secondary)}.kfg-btn:disabled{opacity:.35;cursor:not-allowed}.kfg-hint{background:var(--kfg-soft);border-radius:4px;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1rem 1.2rem;display:flex}.kfg-hint svg{color:var(--kfg-green);flex-shrink:0;margin-top:2px}.kfg-hint p{color:var(--color-secondary);margin:0;font-size:.85rem;line-height:1.5}.kfg-preview{position:sticky;top:100px}.kfg-preview-box{background:var(--color-white);border:1px solid var(--color-border);text-align:center;border-radius:4px;padding:1.5rem}.kfg-preview-label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);text-align:left;margin:0 0 1rem;font-size:.7rem;font-weight:600}.kfg-preview-box #door-preview{width:100%;max-width:240px;display:inline-block}.kfg-preview-box #door-preview svg{width:100%;height:auto;display:block}#door-preview.is-dark svg [stroke]{stroke:#fff}.kfg-model-card svg,#summary-mini svg{width:100%;height:auto;display:block}.kfg-preview-cap{color:var(--color-muted);margin:1rem 0 0;font-size:.72rem;line-height:1.5}.kfg-summary-grid{grid-template-columns:160px 1fr;align-items:start;gap:2rem;display:grid}.kfg-summary-list{border-collapse:collapse;width:100%}.kfg-summary-list td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.55rem 0;font-size:.9rem}.kfg-summary-list td:first-child{color:var(--color-muted);width:38%}.kfg-summary-list td:last-child{color:var(--color-primary);font-weight:500}.kfg-form{flex-direction:column;gap:.8rem;max-width:460px;margin-top:1.5rem;display:flex}.kfg-form input,.kfg-form textarea{font-family:var(--font-sans);border:1px solid var(--kfg-border);background:var(--color-white);color:var(--color-primary);border-radius:3px;width:100%;min-width:0;padding:.85rem 1rem;font-size:.9rem}.kfg-form input:focus,.kfg-form textarea:focus{border-color:var(--kfg-green);outline:none}.kfg-form-row{gap:.8rem;display:flex}.kfg-form-row input{flex:1;min-width:0}.kfg-form textarea{resize:vertical;min-height:80px}@media (max-width:520px){.kfg-form-row{flex-direction:column}}.kfg-trust{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;padding-top:2rem;display:grid}.kfg-trust-item{align-items:flex-start;gap:.75rem;display:flex}.kfg-trust-item svg{color:var(--kfg-green);flex-shrink:0;margin-top:2px}.kfg-trust-item h4{color:var(--color-primary);margin:0 0 .2rem;font-size:.85rem;font-weight:600}.kfg-trust-item p{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.45}.step-panel{flex-direction:column;flex:1;display:none}.step-panel.is-active{display:flex}@media (max-width:900px){.kfg-intro-grid{grid-template-columns:1fr;gap:2rem}.kfg-layout{grid-template-columns:1fr}.kfg-preview{order:-1;position:static}.kfg-steps{gap:0}.kfg-step-label{display:none}.kfg-step-node{min-width:0}.kfg-summary-grid{grid-template-columns:1fr;gap:1.2rem}.kfg-trust{grid-template-columns:1fr}}.kfg-sprojs-profile{background:#faf9f7;border:1px solid #e8e4dd;align-items:center;gap:.9rem;margin:.65rem 0 .2rem;padding:.7rem .9rem;display:flex}.kfg-sprojs-profile svg{flex:none;width:84px;height:auto}.kfg-sprojs-profile p{color:var(--color-muted,#7a7a7a);margin:0;font-size:.78rem;line-height:1.5}
