:root{--color-primary: #FF9500;--color-primary-dark: #FF8000;--color-secondary: #3D3D3D;--color-accent: #FFC107;--color-success: #06A77D;--color-warning: #FFB347;--color-bg: #FFF8F0;--color-surface: #FFFFFF;--color-text: #2C2C2C;--color-text-muted: #808080;--color-border: #E0E0E0;--color-border-focus: #FF9500;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius: 12px;--radius-lg: 16px;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Futura", "Trebuchet MS", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#ff9500,#ffc107);color:#fff;padding:2rem 1.5rem;text-align:center;box-shadow:var(--shadow-md)}.header-logo{max-width:300px;height:auto;margin:0 auto 1rem;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.header h1{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.tagline{font-size:1rem;opacity:.9;font-weight:400}.progress-bar{display:flex;justify-content:center;gap:1rem;padding:1.5rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.progress-step{padding:.5rem 1.25rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:2rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted);transition:all .3s ease}.progress-step.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.05)}.main-content{flex:1;padding:2rem 1rem;max-width:1400px;margin:0 auto;width:100%;background:var(--color-bg)}.step-content{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-content h2{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-secondary);margin-bottom:.5rem}.step-description{color:var(--color-text-muted);font-size:1rem;margin-bottom:2rem}.address-input-wrapper{max-width:600px;margin:2rem auto}.address-input{width:100%;padding:1rem 1.25rem;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:all .2s ease;font-family:var(--font-body)}.address-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #ff6b351a}.address-confirmation{max-width:600px;margin:2rem auto;padding:1.5rem;background:var(--color-surface);border:2px solid var(--color-success);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.address-confirmation p{margin-bottom:.75rem;color:var(--color-text)}.manual-zip{margin:1.5rem 0}.manual-zip label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.manual-zip input{width:100%;max-width:150px;padding:.75rem;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius);font-family:monospace}.map-container{width:100%;height:500px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);margin:1.5rem 0;border:3px solid var(--color-border)}.map-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.area-display{padding:.75rem 1.25rem;background:var(--color-accent);color:var(--color-text);border-radius:var(--radius);font-weight:600;box-shadow:var(--shadow-sm)}.map-footer{margin-top:1.5rem;text-align:center}.warning{padding:1rem;background:#fff4e6;border:2px solid var(--color-warning);border-radius:var(--radius);color:#8b5a00;margin-bottom:1rem;font-weight:500}.quote-layout{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto}@media (min-width: 900px){.quote-layout{grid-template-columns:1fr 1fr}}.options-panel{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.options-panel h2{margin-bottom:1.5rem;font-size:1.5rem}.option-group{margin-bottom:1.75rem}.option-label{display:block;width:100%}.label-text{display:block;font-weight:600;margin-bottom:.5rem;color:var(--color-text);font-size:.95rem}.option-select,.zip-input{width:100%;padding:.75rem;font-size:.95rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .2s ease;font-family:var(--font-body);cursor:pointer}.option-select:focus,.zip-input:focus{outline:none;border-color:var(--color-border-focus)}.checkbox-label{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.5rem;border-radius:var(--radius);cursor:pointer;transition:background .2s ease}.checkbox-label:hover{background:var(--color-bg)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label span{font-size:.95rem;color:var(--color-text)}.quote-panel{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:2px solid var(--color-primary);position:relative}.quote-panel h2{margin-bottom:1.5rem;font-size:1.5rem}.quote-total{text-align:center;padding:2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:var(--shadow-md)}.price-range,.price-single{font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.price-midpoint{font-size:1rem;opacity:.9;margin-top:.5rem;font-weight:400}.quote-breakdown{margin-bottom:2rem}.quote-breakdown h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--color-secondary)}.breakdown-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:.95rem}.breakdown-item:last-child{border-bottom:none;font-weight:600;padding-top:1rem;border-top:2px solid var(--color-border)}.quote-disclaimer{padding:1.5rem;background:#f0f9ff;border-left:4px solid var(--color-secondary);border-radius:var(--radius);margin-bottom:1.5rem;font-size:.9rem}.quote-disclaimer p{margin-bottom:.5rem}.quote-disclaimer p:last-child{margin-bottom:0}.assumptions{color:var(--color-text-muted);font-size:.85rem}.lead-form{margin-top:2rem;padding:2rem;background:var(--color-bg);border-radius:var(--radius-lg);border:2px solid var(--color-border)}.lead-form h3{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-secondary)}.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:.875rem;margin-bottom:1rem;font-size:.95rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-family:var(--font-body);transition:border-color .2s ease}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--color-border-focus)}.lead-form textarea{resize:vertical;min-height:80px}.lead-success{margin-top:2rem;padding:2rem;background:#ecfdf5;border:2px solid var(--color-success);border-radius:var(--radius-lg);text-align:center}.lead-success h3{font-size:1.5rem;color:var(--color-success);margin-bottom:1rem}.lead-success p{margin-bottom:1rem;line-height:1.6}.summary{margin-top:1.5rem;padding:1rem;background:#fff;border-radius:var(--radius);font-size:.9rem;text-align:left}.btn-primary,.btn-secondary,.btn-reset{padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-family:var(--font-body);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--color-text-muted);cursor:not-allowed;opacity:.6}.btn-large{width:100%;padding:1.25rem;font-size:1.1rem}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-primary)}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:1.5rem;text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}.btn-reset{background:transparent;color:var(--color-text-muted);border:2px solid var(--color-border);padding:.625rem 1.5rem;font-size:.9rem}.btn-reset:hover{background:var(--color-bg);color:var(--color-text)}.footer-text{color:var(--color-text-muted);font-size:.95rem}@media (max-width: 768px){.header{padding:1.5rem 1rem}.header-logo{max-width:200px}.progress-bar{gap:.5rem}.progress-step{padding:.4rem .875rem;font-size:.8rem}.main-content{padding:1.5rem 1rem}.step-content h2{font-size:1.5rem}.map-container{height:400px}.options-panel,.quote-panel{padding:1.5rem}.price-range,.price-single{font-size:2rem}.quote-layout{gap:1.5rem}}@media (max-width: 480px){.header h1{font-size:1.5rem}.tagline{font-size:.9rem}.price-range,.price-single{font-size:1.75rem}.map-container{height:350px}}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;min-height:100vh}#root{min-height:100vh}
