.npmd-builder,.npmd-quote-transfer{--npmd-ink:#24372c;--npmd-border:#d6dfd5;--npmd-paper:#fff;--npmd-sage:#eef2ec;--npmd-bronze:#976d48;color:var(--npmd-ink);font-family:inherit}
.npmd-builder *,.npmd-quote-transfer *{box-sizing:border-box}
.npmd-builder{margin:0 auto;max-width:1280px;background:var(--npmd-paper);border:1px solid var(--npmd-border);border-radius:16px;box-shadow:0 16px 40px rgba(26,38,26,.08);overflow:hidden}
.npmd-builder-head{padding:30px 38px 22px;background:linear-gradient(105deg,#eff3ed,#fafaf7);display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--npmd-border)}
.npmd-builder h2,.npmd-builder h3{font-family:Georgia,serif;color:var(--npmd-ink);margin:5px 0 12px;line-height:1.14}
.npmd-builder h2{font-size:clamp(1.8rem,3vw,2.6rem)}.npmd-builder h3{font-size:1.75rem}.npmd-builder-head p{margin:0;max-width:650px;color:#526454}
.npmd-eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:800;color:var(--npmd-bronze);text-transform:uppercase}
.npmd-step-count{font-size:.77rem;white-space:nowrap;border:1px solid var(--npmd-border);background:#fff;border-radius:50px;padding:10px 16px}
.npmd-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)}
.npmd-fields{padding:30px 38px 35px;min-width:0}.npmd-step{min-height:320px}.npmd-step[hidden]{display:none!important}
.npmd-progress{display:flex;gap:6px;margin-bottom:26px}.npmd-progress i{flex:1;height:5px;border-radius:6px;background:#e2e6df}.npmd-progress i.is-done{background:#65816b}
.npmd-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 15px;margin:24px 0}.npmd-field-grid.npmd-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.npmd-field{display:block;font-size:.83rem;font-weight:700;color:var(--npmd-ink)}.npmd-field span{display:block;margin-bottom:6px}
.npmd-field select,.npmd-field input,.npmd-field textarea{width:100%;border:1px solid #bac7b9;background:#fff;border-radius:8px;padding:13px 12px;line-height:1.3;font-size:1rem;color:#213428;min-height:47px}.npmd-field textarea{resize:vertical;margin-top:6px}
.npmd-field :is(input,select,textarea):focus-visible,.npmd-model-choice:focus-within{outline:3px solid #af8b65;outline-offset:2px}
.npmd-help,.npmd-preview-caption{font-size:.78rem;line-height:1.6;color:#637267}
.npmd-model-choices{padding:0;border:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.npmd-model-choices legend{display:block;grid-column:1/-1;font-size:.85rem;font-weight:800;margin-bottom:9px}
.npmd-model-choice{display:block;cursor:pointer;border:2px solid #d9dfd7;border-radius:9px;overflow:hidden;font-size:.79rem;text-align:center;background:white;transition:border-color .2s}.npmd-model-choice:has(input:checked){border-color:#52705a;box-shadow:0 0 0 1px #52705a}.npmd-model-choice input{position:absolute;opacity:0;width:1px;height:1px}.npmd-model-choice img{width:100%;aspect-ratio:1.25;object-fit:cover}.npmd-model-choice span{display:block;padding:9px 6px;font-weight:800}
.npmd-finish-board{border:1px solid var(--npmd-border);padding:11px 13px;border-radius:8px}.npmd-finish-board summary{cursor:pointer;font-size:.84rem;font-weight:800}.npmd-finish-board img{width:100%;height:auto;margin-top:12px}
.npmd-result{background:#f2f6f0;border:1px solid #d3dfd0;border-radius:9px;padding:17px 18px;margin:20px 0}.npmd-result pre,.npmd-quote-transfer pre{font-family:inherit;font-size:.86rem;white-space:pre-wrap;line-height:1.65;margin:7px 0;color:#314838;overflow-wrap:anywhere}
.npmd-button{font:inherit;font-size:.82rem;font-weight:800;border-radius:7px;cursor:pointer;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;line-height:1.5;border:1px solid #547159;background:#eaf1e8;color:#27452e}.npmd-button-primary{background:#2f513b;color:#fff!important;border-color:#2f513b}.npmd-button-primary:hover{background:#23412f}.npmd-button-alt{background:#fff;color:#2a4a34}.npmd-button:disabled{opacity:.55;cursor:not-allowed}.npmd-builder.is-busy .npmd-button-ai{cursor:progress}.npmd-quote{margin:5px 6px 5px 0}.npmd-copy{display:inline-block;background:none;border:0;padding:8px 0;text-decoration:underline;cursor:pointer;font-size:.82rem;color:#2d4c3c}.npmd-response{min-height:26px;font-size:.82rem;font-weight:700;color:#386145}
.npmd-step-nav{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--npmd-border);margin-top:24px;padding-top:22px}.npmd-step-nav [data-npmd-next]{margin-left:auto}
.npmd-preview{background:#f3f5f0;border-left:1px solid var(--npmd-border);padding:27px 24px;min-width:0}.npmd-preview-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:14px}.npmd-preview-head span{display:block;font-size:.68rem;letter-spacing:.12em;color:#638069;font-weight:700}.npmd-preview-head strong{display:block;font-family:Georgia,serif;font-size:1.25rem;margin-top:3px}.npmd-view-switch{display:flex;gap:0;background:white;border:1px solid #d2d9d0;border-radius:30px;padding:3px}.npmd-view-switch button{border:0;background:transparent;cursor:pointer;border-radius:30px;padding:7px 10px;font-size:.73rem;font-weight:750;color:#31513b}.npmd-view-switch button.is-active{color:white;background:#31513b}
.npmd-preview-img{display:block;width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;border:1px solid var(--npmd-border);border-radius:10px;background:#e1e6df}.npmd-preview-caption{margin:13px 0 0}.npmd-ai-box{margin-top:26px;padding-top:22px;border-top:1px solid #d4ddd2}.npmd-ai-box p{font-size:.78rem;line-height:1.6}.npmd-button-ai{background:#fffbf4;border-color:#b79d7d;color:#593d25}
.npmd-quote-transfer{background:#eff4ed;padding:22px 28px;border:1px solid #d3e0d0;border-radius:12px;margin-bottom:25px}.npmd-quote-transfer h2{margin:0 0 8px;font-family:Georgia,serif;font-size:1.6rem}.npmd-quote-transfer p{margin:0 0 10px;font-size:.87rem}.npmd-quote-transfer pre{background:#fff;padding:17px;border-radius:7px}
@media(max-width:1040px){.npmd-main{grid-template-columns:1fr}.npmd-preview{border-left:0;border-top:1px solid var(--npmd-border)}.npmd-preview-img{aspect-ratio:1.8;object-position:center}}
@media(max-width:700px){.npmd-builder-head{padding:24px 20px;align-items:flex-start;flex-direction:column}.npmd-fields,.npmd-preview{padding:23px 17px}.npmd-field-grid,.npmd-field-grid.npmd-three{grid-template-columns:1fr 1fr}.npmd-model-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.npmd-model-choice span{font-size:.7rem}.npmd-preview-head{flex-wrap:wrap}.npmd-preview-img{aspect-ratio:1.3}}
@media(max-width:450px){.npmd-field-grid,.npmd-field-grid.npmd-three{grid-template-columns:1fr}.npmd-model-choices{grid-template-columns:1fr 1fr}.npmd-model-choice:last-child{grid-column:1/-1}.npmd-model-choice img{aspect-ratio:2.5}.npmd-button{width:100%;margin:5px 0}.npmd-step-nav{gap:9px}.npmd-step-nav .npmd-button{width:auto}}
@media(prefers-reduced-motion:reduce){.npmd-builder *{transition:none!important}}

.npmd-builder [hidden],.npmd-quote-transfer [hidden]{display:none!important}
/* 1.1: photo-first customer design experience */
.npmd-model-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.npmd-model-choice img{aspect-ratio:1.8}
.npmd-notes{margin:20px 0}
.npmd-notes textarea{width:100%}
.npmd-ai-box{padding:17px 18px;background:#f5f8f4;border:1px solid #d6e2d3;border-radius:11px;margin:8px 0 20px}
.npmd-ai-box .npmd-button{width:100%;font-size:1rem;padding:15px}
.npmd-warning{color:#884c25}
.npmd-contact{padding:19px 18px;background:#f5f7f2;border:1px solid #d1dfd1;border-radius:10px;margin-top:20px}
.npmd-contact h3{font-size:1.45rem}
.npmd-contact>.npmd-field{margin:16px 0}
.npmd-contact .npmd-field-grid{margin:12px 0}
.npmd-consent{display:flex;align-items:flex-start;gap:10px;font-size:.83rem;line-height:1.5;margin:18px 0;cursor:pointer}
.npmd-consent input{margin:4px 0;min-width:18px;min-height:18px}
.npmd-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.npmd-complete{padding:20px;border:1px solid #b6d3bd;background:#e9f5ec;border-radius:10px}
.npmd-complete h3{font-size:1.3rem}
.npmd-image-label{font-size:.68rem;letter-spacing:.14em;font-weight:800;color:#395d42}
.npmd-builder input[type=file]{padding:10px;cursor:pointer;background:#fff}
.npmd-builder input[type=file]::file-selector-button{background:#ecf1ed;border:1px solid #bac7b9;border-radius:6px;padding:8px;margin-right:14px}
.npmd-builder .npmd-field-grid.npmd-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.npmd-builder .npmd-preview-img{aspect-ratio:1.3;object-fit:contain;background:#eef0e9}
.npmd-builder .npmd-preview{align-self:start}
@media(max-width:700px){.npmd-builder .npmd-field-grid.npmd-three{grid-template-columns:1fr 1fr}}
@media(max-width:450px){.npmd-builder .npmd-field-grid.npmd-three{grid-template-columns:1fr}.npmd-model-choice:last-child{grid-column:auto}.npmd-model-choice img{aspect-ratio:1.5}}

.npmd-inline-preview{padding:14px;border:1px solid #c6d7ca;border-radius:9px;background:#f7faf6;margin:14px 0 18px}
.npmd-inline-preview img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:7px}
.npmd-inline-preview .npmd-help{margin:10px 2px 0}
@media(min-width:1041px){.npmd-inline-preview{display:none!important}}

/* v1.1.1: optional desk, available to request with either of the two styles */
.npmd-desk-choices{border:1px solid #cedbd0;background:#f6f8f5;border-radius:11px;padding:18px 18px 15px;margin:18px 0 22px}
.npmd-desk-choices legend{padding:0 6px;font-size:.99rem;font-weight:800;color:#2b4533}
.npmd-desk-choices .npmd-help{margin:1px 0 11px}
.npmd-desk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.npmd-desk-choice{display:flex;align-items:center;gap:12px;padding:14px 13px;border:2px solid #dce3d8;background:#fff;border-radius:9px;cursor:pointer;min-height:78px}
.npmd-desk-choice:has(input:checked){border-color:#3f6e4f;background:#edf5eb}
.npmd-desk-choice:focus-within{outline:3px solid #af8b65;outline-offset:2px}
.npmd-desk-choice input{flex:none;width:19px;height:19px;accent-color:#315e3c}
.npmd-desk-choice span{display:flex;flex-direction:column;gap:3px;line-height:1.35}
.npmd-desk-choice strong{font-size:.87rem;color:#234630}
.npmd-desk-choice small{font-size:.72rem;color:#687a69}
@media(max-width:520px){.npmd-desk-grid{grid-template-columns:1fr}.npmd-desk-choice{min-height:65px}}

/* v1.2.2: disabled is not a loading state; always show a meaningful status. */
.npmd-generation-status{border-left:4px solid #65816b;background:#eaf2e8;padding:12px 14px;margin:14px 0!important;border-radius:5px;line-height:1.45!important;color:#244b34!important;min-height:0}
.npmd-owner-link{margin-top:12px!important}.npmd-owner-link a{font-weight:800;text-decoration:underline!important}

/* v1.3.1: optional side cabinets and customer refinements */
.npmd-standard-cabinets{background:#ecf3eb;border:1px solid #c4d6c5;border-radius:10px;padding:14px 17px;line-height:1.55;color:#294932;font-size:.86rem}
.npmd-refine{background:#fff9ef;border:1px solid #e0c6a8;border-radius:12px;padding:18px;margin:18px 0}
.npmd-refine .npmd-field textarea{width:100%;min-height:86px}
.npmd-refine .npmd-button{margin-top:14px;width:100%}
.npmd-refine-done{padding:17px 18px;margin:16px 0;border-radius:9px;background:#eaf2e7;border:1px solid #baceb8;color:#254a2f;line-height:1.5}

.npmd-website-link{margin:9px 0 0;font-size:.84rem;font-weight:700;color:#315e43}.npmd-website-link a{color:#315e43;text-decoration:underline!important}
