.pid-wrapper{border:2px solid var(--color-primary);border-radius:12px;overflow:hidden;margin:var(--space-xl) 0;background:var(--color-bg);box-shadow:0 4px 24px #1a6b3c14}.pid-progress{background:var(--color-primary);padding:20px 24px}.pid-progress-steps{display:flex;align-items:center;justify-content:center;gap:0;max-width:500px;margin:0 auto}.pid-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.5;transition:opacity .3s}.pid-step.active,.pid-step.done{opacity:1}.pid-step-num{width:32px;height:32px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;transition:background .3s}.pid-step.active .pid-step-num,.pid-step.done .pid-step-num{background:#fff;color:var(--color-primary)}.pid-step-label{font-size:.6875rem;color:#fffc;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.pid-step-line{flex:1;height:2px;background:#ffffff40;margin:0 8px 18px;min-width:30px}.pid-screen{display:none;padding:32px 28px;animation:pidFade .35s ease}.pid-screen.active{display:block}@keyframes pidFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pid-question{font-size:1.375rem;color:var(--color-text);margin:0 0 4px;font-family:var(--font-heading)}.pid-hint{font-size:.875rem;color:var(--color-text-light);margin:0 0 24px}.pid-back{background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:16px;font-family:var(--font-body)}.pid-back:hover{text-decoration:underline}.pid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pid-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border:2px solid var(--color-border);border-radius:10px;background:var(--color-bg);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;font-family:var(--font-body);text-align:center}.pid-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #1a6b3c1a;transform:translateY(-2px)}.pid-card.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 2px 12px #1a6b3c26}.pid-card-icon{font-size:1.75rem;line-height:1}.pid-card-text{font-size:.875rem;font-weight:600;color:var(--color-text)}.pid-card-sub{font-size:.75rem;color:var(--color-text-lighter)}.pid-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.pid-pill{padding:8px 16px;border:2px solid var(--color-border);border-radius:24px;background:var(--color-bg);font-size:.875rem;font-family:var(--font-body);color:var(--color-text);cursor:pointer;transition:all .2s;font-weight:500}.pid-pill:hover{border-color:var(--color-primary)}.pid-pill.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pid-next{display:block;width:100%;padding:14px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1.0625rem;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:background .2s,transform .1s}.pid-next:hover{background:#145530;transform:translateY(-1px)}.pid-submit{background:var(--color-cta)}.pid-submit:hover{background:var(--color-cta-hover)}.pid-results-header{text-align:center;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--color-border)}.pid-checkmark{margin:0 auto 12px;width:56px;height:56px;animation:pidPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes pidPop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.pid-results-title{font-size:1.625rem;color:var(--color-text);margin:0 0 6px;font-family:var(--font-heading)}.pid-results-sub{font-size:.9375rem;color:var(--color-text-light);margin:0}.pid-result-card{border:1px solid #e0e0e0;border-radius:14px;overflow:hidden;margin-bottom:28px;background:var(--color-bg);box-shadow:0 2px 12px #0000000d;animation:pidSlideUp .45s ease both}.pid-result-card:nth-child(2){animation-delay:.1s}.pid-result-card:nth-child(3){animation-delay:.2s}@keyframes pidSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pid-result-card:first-child{border:2px solid var(--color-primary);box-shadow:0 4px 24px #1a6b3c1f}.pid-result-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #f0f0f0;background:#fafbfc}.pid-result-card:first-child .pid-result-top{background:#f0f7f2;border-bottom-color:#d4e8dc}.pid-result-name{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--color-text)}.pid-result-match{font-size:.8125rem;font-weight:700;padding:5px 14px;border-radius:20px;white-space:nowrap}.pid-match-high{background:#e8f5e9;color:#2e7d32}.pid-match-medium{background:#fff8e1;color:#e65100}.pid-match-low{background:#f3f4f6;color:#6b7280}.pid-urgency-banner{display:flex;align-items:center;gap:8px;padding:10px 24px;font-size:.8125rem;font-weight:600}.pid-urgency-banner-low{background:#e8f5e9;color:#1b5e20}.pid-urgency-banner-medium{background:#fff3e0;color:#bf360c}.pid-urgency-banner-high{background:#c62828;color:#fff}.pid-urgency-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pid-urgency-banner-low .pid-urgency-dot{background:#2e7d32}.pid-urgency-banner-medium .pid-urgency-dot{background:#e65100}.pid-urgency-banner-high .pid-urgency-dot{background:#fff}.pid-result-body{padding:24px}.pid-body-grid{display:grid;grid-template-columns:1fr 280px;gap:28px;margin-bottom:24px}.pid-desc{font-size:.9375rem;line-height:1.7;color:var(--color-text);margin:0 0 20px}.pid-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);margin:0 0 8px}.pid-tips{list-style:none;padding:0;margin:0}.pid-tips li{font-size:.875rem;line-height:1.6;padding:5px 0 5px 24px;position:relative;color:var(--color-text)}.pid-tips li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700;font-size:.9375rem}.pid-body-right,.pid-costs{display:flex;flex-direction:column;gap:12px}.pid-cost-box{padding:16px;border-radius:10px;text-align:center}.pid-cost-box-diy{background:#f0fdf4;border:1px solid #bbf7d0}.pid-cost-box-pro{background:#f8fafc;border:1px solid #e2e8f0}.pid-cost-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:6px}.pid-cost-box-diy .pid-cost-label{color:#166534}.pid-cost-box-pro .pid-cost-label{color:var(--color-text-light)}.pid-cost-value{font-size:1.25rem;font-weight:700;font-family:var(--font-heading);line-height:1.2}.pid-cost-box-diy .pid-cost-value{color:#15803d}.pid-cost-box-pro .pid-cost-value{color:var(--color-text)}.pid-actions{display:flex;gap:10px;padding-top:20px;border-top:1px solid #f0f0f0}.pid-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:8px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .2s;font-family:var(--font-body);flex:1;text-align:center;white-space:nowrap}.pid-action-secondary{background:var(--color-bg);color:var(--color-primary);border:2px solid var(--color-primary)}.pid-action-secondary:hover{background:var(--color-primary);color:#fff}.pid-action-cta{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary);font-size:.875rem}.pid-action-cta:hover{background:#145530;border-color:#145530;color:#fff}.pid-restart-wrap{text-align:center;margin-top:8px}.pid-restart{background:none;border:none;padding:10px 24px;font-size:.875rem;font-weight:500;font-family:var(--font-body);color:var(--color-text-light);cursor:pointer;transition:color .2s;text-decoration:underline;text-underline-offset:3px}.pid-restart:hover{color:var(--color-primary)}@media(max-width:768px){.pid-body-grid{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){.pid-cards{grid-template-columns:repeat(2,1fr)}.pid-screen{padding:24px 18px}.pid-progress{padding:16px 14px}.pid-step-label{font-size:.6rem}.pid-step-num{width:28px;height:28px;font-size:.75rem}.pid-actions{flex-direction:column}.pid-action{flex:auto;width:100%}.pid-result-top{padding:16px 18px}.pid-result-body{padding:18px}.pid-urgency-banner{padding:10px 18px}.pid-result-name{font-size:1.1875rem}}@media(max-width:400px){.pid-cards{grid-template-columns:1fr 1fr}}
