:root{--primary:#0f172a;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f140;--success:#22c55e;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--font-heading:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--radius:16px;--radius-sm:12px;--shadow:0 1px 3px #0000000d, 0 10px 30px -5px #00000014;--shadow-hover:0 1px 3px #0000000d, 0 20px 40px -5px #0000001f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--neutral-800);background:linear-gradient(#fafafa 0%,#f0f0f5 100%);min-height:100vh;line-height:1.6}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes checkBounce{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes progressStripe{0%{background-position:0 0}to{background-position:40px 0}}.container{max-width:720px;margin:0 auto;padding:40px 20px 80px}.field{margin-bottom:20px}.field label{color:var(--neutral-700);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.field label .hint{color:var(--neutral-400);font-size:.8rem;font-weight:400}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],.field select,.field textarea{border:2px solid var(--neutral-200);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:var(--neutral-800);background:#fff;padding:14px 16px;font-size:.95rem;transition:all .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);outline:none}.field input.error,.field textarea.error{border-color:#ef4444}.field textarea{resize:vertical;min-height:100px}.field-row{grid-template-columns:1fr 1fr;align-items:end;gap:16px;display:grid}.field input::placeholder,.field textarea::placeholder{color:var(--neutral-400)}.options-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=640px){.container{padding:20px 16px 100px}.field-row,.options-grid{grid-template-columns:1fr}}.progress-wrap{z-index:100;background:linear-gradient(#fafafa 70%,#0000);margin-bottom:8px;padding:16px 0 24px;position:sticky;top:0}.progress-bar-bg{background:var(--neutral-200);border-radius:100px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), #a855f7);border-radius:100px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 25%,#ffffff4d 50%,#0000 75%) 0 0/40px 100%;animation:1s linear infinite progressStripe;position:absolute;inset:0}.progress-text{color:var(--neutral-400);justify-content:space-between;margin-top:8px;font-size:.75rem;font-weight:500;display:flex}.option-btn{border:2px solid var(--neutral-200);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:#fff;padding:16px;transition:all .2s;position:relative}.option-btn:hover{border-color:var(--accent-light);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.option-btn.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:linear-gradient(135deg,#6366f10a,#a855f70a)}.option-btn .check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:none;position:absolute;top:10px;right:10px}.option-btn.selected .check{animation:.3s checkBounce;display:flex}.option-btn h5{color:var(--primary);margin-bottom:4px;font-size:.9rem;font-weight:600}.option-btn p{color:var(--neutral-500);font-size:.8rem;line-height:1.5}.toggle-item{background:var(--neutral-50);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 16px;transition:all .2s;display:flex}.toggle-item:hover{border-color:var(--accent-light)}.toggle-item.active{border-color:var(--accent);background:linear-gradient(135deg,#6366f10a,#a855f70a)}.toggle-item .toggle-info h5{color:var(--primary);font-size:.9rem;font-weight:600}.toggle-item .toggle-info p{color:var(--neutral-500);margin-top:2px;font-size:.78rem}.toggle-switch{background:var(--neutral-300);border-radius:100px;flex-shrink:0;width:44px;height:24px;transition:background .3s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle-item.active .toggle-switch{background:var(--accent)}.toggle-item.active .toggle-switch:after{transform:translate(20px)}.color-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.color-btn{aspect-ratio:1;cursor:pointer;border:3px solid #0000;border-radius:50%;transition:all .2s;position:relative}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-glow)}.color-btn.selected:after{content:"✓";color:#fff;text-shadow:0 1px 3px #0000004d;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:absolute;inset:0}@media (width<=640px){.color-grid{grid-template-columns:repeat(4,1fr)}}.budget-container{border:2px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;padding:20px}.budget-slider{appearance:none;background:var(--neutral-200);border-radius:100px;outline:none;width:100%;height:6px;margin:16px 0 8px}.budget-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent), #a855f7);cursor:pointer;width:24px;height:24px;box-shadow:0 2px 10px var(--accent-glow);border:3px solid #fff;border-radius:50%}.budget-labels-text{color:var(--neutral-400);justify-content:space-between;font-size:.75rem;font-weight:500;display:flex}.budget-value{text-align:center;font-family:var(--font-heading);color:var(--accent);margin-top:8px;font-size:1.4rem;font-weight:700}.summary-card{background:linear-gradient(135deg, var(--primary), #1e1b4b);color:#fff;border-radius:var(--radius);margin-bottom:20px;padding:32px}.summary-card h3{font-family:var(--font-heading);margin-bottom:20px;font-size:1.2rem}.summary-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:10px 0;font-size:.88rem;display:flex}.summary-row:last-child{border-bottom:none}.summary-row .sum-label{color:var(--neutral-400)}.summary-row .sum-value{color:#fff;text-align:right;font-weight:600}.summary-total{border-radius:var(--radius-sm);background:#ffffff14;justify-content:space-between;align-items:center;margin-top:20px;padding:20px;display:flex}.summary-total .total-label{color:var(--neutral-400);font-size:.85rem}.summary-total .total-value{font-family:var(--font-heading);font-size:1.6rem;font-weight:700}.header{text-align:center;border-radius:var(--radius);border:1px solid var(--neutral-100);background:linear-gradient(#fdfbfb 0%,#fff 100%);margin-bottom:24px;padding:16px 20px 20px;position:relative;overflow:hidden}.header-badge{border:1px solid var(--neutral-200);color:var(--accent);box-shadow:var(--shadow);background:#fff;border-radius:100px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 16px;font-size:.8rem;font-weight:600;display:inline-flex}.header-badge .pulse-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.header h1{font-family:var(--font-heading);color:var(--primary);margin-bottom:12px;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;line-height:1.15}.header h1 span{background:linear-gradient(135deg, var(--accent), #a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header p{color:var(--neutral-500);max-width:480px;margin:0 auto;font-size:1.05rem}.step-card{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--neutral-100);opacity:0;background:#fff;margin-bottom:20px;padding:32px;transition:box-shadow .3s,opacity .5s,transform .5s;transform:translateY(16px)}.step-card.visible{opacity:1;transform:translateY(0)}.step-card:hover{box-shadow:var(--shadow-hover)}.step-header{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.step-number{background:linear-gradient(135deg, var(--accent), #a855f7);color:#fff;width:40px;height:40px;font-family:var(--font-heading);box-shadow:0 4px 12px var(--accent-glow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.step-number.done{background:var(--success);box-shadow:0 4px 12px #22c55e40}.step-number.done:after{content:"✓";font-size:1.1rem}.step-number.done span{display:none}.step-title{font-family:var(--font-heading);color:var(--primary);margin-bottom:4px;font-size:1.15rem;font-weight:600}.step-subtitle{color:var(--neutral-500);font-size:.9rem}.nav-bar{border-top:1px solid var(--neutral-200);z-index:200;background:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.nav-btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-btn:disabled{opacity:.7;cursor:not-allowed}.nav-btn-back{color:var(--neutral-600);border:2px solid var(--neutral-200);background:#fff}.nav-btn-back:hover:not(:disabled){border-color:var(--neutral-300);background:var(--neutral-50)}.nav-btn-next{background:linear-gradient(135deg, var(--accent), #a855f7);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.nav-btn-next:hover:not(:disabled){box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.nav-btn-send{background:linear-gradient(135deg, var(--success), #16a34a);color:#fff;box-shadow:0 4px 16px #22c55e40}.nav-btn-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #22c55e59}.nav-step-info{color:var(--neutral-400);font-size:.8rem;font-weight:500}.toast{background:var(--primary);color:#fff;box-shadow:var(--shadow-hover);z-index:999;opacity:0;pointer-events:none;white-space:nowrap;border-radius:100px;padding:14px 28px;font-size:.9rem;font-weight:500;transition:all .4s;position:fixed;bottom:90px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=640px){.header h1{font-size:1.6rem}.step-card{padding:24px 20px}.nav-bar{padding:12px 16px}.nav-btn{padding:10px 18px;font-size:.9rem}}
