.builder{padding:5.5rem 2.5rem;background:var(--bg-2);transition:background .5s}
.builder-wrapper{max-width:1000px;margin:0 auto}
.builder-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:3rem}
.progress-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;z-index:1}
.progress-circle{width:36px;height:36px;border-radius:50%;border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:.85rem;font-weight:300;color:var(--text-soft);transition:all .3s}
.progress-step.active .progress-circle,.progress-step.completed .progress-circle{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.progress-label{font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);font-weight:300;white-space:nowrap}
.progress-step.active .progress-label{color:var(--accent)}
.progress-line{flex:1;height:.5px;background:var(--border);margin:0 .5rem;margin-bottom:1.2rem}
.builder-step{display:none}
.builder-step.active{display:block}
.builder-step-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.6rem;color:var(--text);margin-bottom:2rem}
.builder-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.builder-field label{font-family:'Jost',sans-serif;font-weight:300;font-size:.82rem;letter-spacing:.05em;color:var(--text);opacity:.8}
.builder-field input,.builder-field textarea,.builder-field select{width:100%;padding:.75rem 1rem;background:transparent;border:.5px solid var(--border);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;font-size:.88rem;outline:none;transition:border-color .3s ease}
.builder-field input:focus,.builder-field textarea:focus,.builder-field select:focus{border-color:var(--accent)}
.builder-field textarea{resize:vertical;min-height:90px}
.builder-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B5744'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.char-count{float:right;font-size:.7rem;color:var(--text-soft);font-weight:300}
.builder-radios{display:flex;flex-wrap:wrap;gap:.5rem}
.builder-radio{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.82rem;font-weight:300;color:var(--text-mid)}
.builder-radio input{appearance:none;width:14px;height:14px;border-radius:50%;border:.5px solid var(--border);cursor:pointer;transition:all .3s;flex-shrink:0}
.builder-radio input:checked{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--bg)}
.builder-nav{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}
.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.palette-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.6rem .8rem;border:.5px solid var(--border);transition:all .3s}
.palette-option input{display:none}
.palette-option.selected{border-color:var(--accent);background:rgba(45,106,79,.04)}
.palette-swatch{width:1.6rem;height:1.6rem;border-radius:50%;flex-shrink:0}
.palette-name{font-family:'Jost',sans-serif;font-size:.75rem;font-weight:300;color:var(--text-mid)}
.vibe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.vibe-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;border:.5px solid var(--border);cursor:pointer;transition:all .3s ease;color:var(--text-mid);text-align:center}
.vibe-card:hover{border-color:var(--text-soft)}
.vibe-card.selected{border-color:var(--accent);background:rgba(45,106,79,.04);color:var(--accent)}
.vibe-card span{font-family:'Jost',sans-serif;font-size:.72rem;font-weight:300;letter-spacing:.04em}
.chip-grid{display:flex;flex-wrap:wrap;gap:.4rem}
.builder-chip{display:inline-flex;align-items:center;cursor:pointer}
.builder-chip input{display:none}
.builder-chip span{display:inline-flex;align-items:center;padding:.4rem 1rem;border:.5px solid var(--border);font-family:'Jost',sans-serif;font-weight:300;font-size:.78rem;letter-spacing:.04em;transition:all .3s ease;color:var(--text-mid)}
.builder-chip input:checked+span{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.delivery-estimate{font-family:'Jost',sans-serif;font-weight:300;font-size:.85rem;color:var(--text-mid);opacity:.7;margin-top:1rem}
.delivery-estimate span{color:var(--accent);font-weight:400}
.preview-grid{display:grid;grid-template-columns:55% 45%;gap:2rem}
.preview-left{display:flex;flex-direction:column;gap:1.5rem}
.summary-card{padding:2rem;border:.5px solid var(--border);background:var(--bg)}
.summary-card h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.8rem;color:var(--text);margin-bottom:1rem}
.summary-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}
.summary-tag{display:inline-block;font-size:.68rem;font-family:'Jost',sans-serif;font-weight:300;letter-spacing:.08em;text-transform:uppercase;border:.5px solid var(--accent);color:var(--accent);padding:.2rem .6rem}
.summary-palette,.summary-vibe,.summary-counts,.summary-delivery,.summary-ref{font-size:.78rem;font-family:'Jost',sans-serif;font-weight:300;color:var(--text-mid);margin-bottom:.4rem}
.summary-palette span,.summary-vibe span,.summary-delivery span{color:var(--accent)}
.mockup-preview{border:.5px solid var(--border);overflow:hidden}
.mockup-svg{width:100%;height:auto;display:block}
.preview-right{display:flex;flex-direction:column}
.preview-intro{font-size:.82rem;color:var(--text-mid);line-height:1.8;font-weight:300;margin-bottom:1.5rem}
.payment-box{padding:1.5rem;border:.5px solid var(--accent);margin-bottom:1.5rem}
.payment-header{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text);margin-bottom:.6rem}
.payment-header strong{font-weight:400}
.payment-desc{font-size:.78rem;color:var(--text-mid);font-weight:300;line-height:1.7;margin-bottom:1rem}
.confirm-check{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.8rem;font-weight:300;color:var(--text-mid);line-height:1.6}
.confirm-check input{margin-top:.3rem;flex-shrink:0}
.submit-btn{width:100%;text-align:center}
.submit-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.builder-error{font-size:.78rem;color:#E05252;font-weight:300;margin-top:.5rem;min-height:1rem}
.builder-fine-print{font-size:.7rem;font-family:'Jost',sans-serif;font-weight:300;color:var(--text-soft);opacity:.6;margin-top:.75rem;line-height:1.6}
.builder-success{text-align:center;padding:4rem 2rem}
.builder-success h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:2.4rem;color:var(--text);margin-bottom:1rem}
.success-sub{font-size:1rem;color:var(--accent);font-weight:300;margin-bottom:.5rem}
.success-body{font-size:.85rem;color:var(--text-mid);font-weight:300;line-height:1.8;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}
.success-check{width:80px;height:80px;margin:0 auto 2rem}
.check-path{stroke-dasharray:60;stroke-dashoffset:60;animation:drawCheck .6s ease forwards .3s}
.success-timeline{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:3rem}
.success-step{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.success-circle{width:28px;height:28px;border-radius:50%;border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-soft)}
.success-step.completed .success-circle{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.success-step-label{font-size:.6rem;font-family:'Jost',sans-serif;font-weight:300;letter-spacing:.06em;color:var(--text-soft);white-space:nowrap}
.success-line{width:40px;height:.5px;background:var(--border);margin-bottom:1.2rem}
@media(max-width:680px){.preview-grid{grid-template-columns:1fr}.palette-grid{grid-template-columns:repeat(2,1fr)}.vibe-grid{grid-template-columns:repeat(2,1fr)}.success-timeline{flex-direction:column;gap:1rem}.success-line{width:.5px;height:20px}}
