@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#273e35;--green:#365b4b;--green-dark:#29493c;--muted:#778078;--line:#e3e7de;--paper:#f7f8f4;--cream:#f0f2e9;--gold:#b99058;--red:#a54e3d;--shadow:0 14px 36px #253c3210;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b9905890;outline-offset:4px}button{color:inherit}a{color:var(--green)}.site-header{max-width:1440px;margin:auto;padding:29px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-family:'Manrope',Arial,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.4px;color:var(--green-dark)}.brand svg{width:35px;height:35px}.brand-dot{color:var(--gold)}.site-header nav{display:flex;gap:31px;align-items:center}.text-button{background:none;border:0;padding:8px 0;font-size:13px;font-weight:550;color:var(--muted)}.text-button:hover{color:var(--green)}.saved-button{border:1px solid #d9dfd3;border-radius:7px;background:transparent;padding:10px 15px;font-size:13px;display:flex;align-items:center;gap:9px}.saved-button:hover{background:#edf0e7}.saved-button>span:first-child{font-size:20px;line-height:12px}.saved-button #saved-count{background:#e5eadf;font-size:10px;border-radius:20px;min-width:20px;height:20px;display:grid;place-items:center}main{max-width:1440px;margin:auto;padding:0 5.5%}main:focus{outline:none}.hero{display:flex;justify-content:space-between;align-items:center;padding:51px 0 40px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;display:flex;align-items:center;gap:7px;color:var(--green)}.eyebrow>span:empty{width:5px;height:5px;background:var(--gold);border-radius:50%}h1,h2,h3,p{margin:0}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(35px,3.8vw,53px);font-weight:650;line-height:1.12;letter-spacing:-2.5px;margin:17px 0 17px}h1>span{color:#7b8979}.hero p{font-size:14px;color:#7b827b;line-height:1.75}.hero-aside{display:flex;gap:18px;align-items:center;padding-right:35px;padding-top:45px;color:#8a9388;font-size:12px;line-height:1.8}.hero-aside strong{font-weight:500;color:#566b5a}.small-roof{width:66px;height:66px;display:grid;place-items:center;border:1px solid #d9dfcf;border-radius:50%;font-family:serif;font-size:47px;color:#80937c;transform:rotate(-9deg)}.builder{background:#fff;border:1px solid #e0e5da;border-radius:13px;box-shadow:0 9px 35px #30453104;scroll-margin-top:20px;overflow:hidden}.builder-top{padding:20px 28px;display:flex;justify-content:space-between;align-items:center;background:#fcfdfb;border-bottom:1px solid var(--line)}.builder-label{font-size:10px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:10px}.sparkle{font-size:17px;color:var(--gold)}.save-status{font-size:10px;color:#8a9286}.stepper{padding:0 28px;display:flex;border-bottom:1px solid var(--line);background:#fcfdfb}.step{position:relative;padding:21px 0;display:flex;gap:10px;align-items:center;border:none;background:none;flex:1;font-size:11px;font-weight:550;text-align:left;color:#949c91;opacity:1!important}.step-number{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:1px solid #dfe4d9;font-size:9px}.step.active{color:var(--green)}.step.active:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--green);left:0;right:30px}.step.active .step-number{background:var(--green);border-color:var(--green);color:white}.step.done{color:var(--green)}.step.done .step-number{background:#e8efe5;border-color:transparent}.step-line{height:1px;background:#e4e8df;flex:1;margin:0 22px 0 7px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start}.work-panel{min-width:0;padding:32px 28px 0;border-right:1px solid var(--line)}.section-heading{margin-bottom:24px}.muted{color:var(--muted)}.section-heading .eyebrow{font-size:8px;letter-spacing:1.6px}.section-heading h2{font-family:'Manrope',Arial,sans-serif;font-size:25px;font-weight:650;letter-spacing:-.85px;margin:9px 0 8px;line-height:1.3}.section-heading h2:focus{outline:none}.section-heading p{font-size:12px;line-height:1.7;color:#7a8178}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.category-card{text-align:left;padding:0;border:1px solid #e3e6dd;background:white;border-radius:8px;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.category-card:hover{transform:translateY(-3px);border-color:#a9bb9f;box-shadow:0 6px 18px #253c3210}.category-card.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.category-image{position:relative;height:105px;overflow:hidden}.scene{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.category-card:hover .scene{transform:scale(1.04)}.selection-dot{position:absolute;right:10px;top:10px;width:17px;height:17px;border:1px solid #ffffffb0;background:#ffffffb0;border-radius:50%;font-size:10px;display:grid;place-items:center}.selected .selection-dot{border-color:var(--green);background:var(--green);color:white}.category-copy{padding:13px 12px}.category-copy h3{display:flex;justify-content:space-between;gap:4px;font-size:13px;font-weight:650}.category-copy h3>span{color:#8c9889;font-size:14px;font-weight:400}.category-copy p{margin:6px 0 13px;font-size:9px;color:#8a9086;line-height:1.5;min-height:27px}.service-count{font-size:7px;letter-spacing:1.2px;color:#9a9f95}.actions{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--line);margin-top:27px;padding:20px 0}.small{font-size:9px;line-height:1.5;max-width:190px}.primary,.secondary{display:inline-flex;gap:14px;justify-content:center;align-items:center;border-radius:6px;padding:13px 18px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:11px;font-weight:550;white-space:nowrap;transition:background .15s,transform .15s;min-height:43px}.primary:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary:disabled{opacity:.4}.secondary{border-color:#d7dfd0;color:var(--green);background:white}.secondary:hover{background:#f3f6ee}.back{font-size:11px;color:#7b8779}.project-panel{background:#f8faf5;align-self:stretch;position:relative;border-radius:0 0 12px 0}.summary-top{display:flex;align-items:center;justify-content:space-between;padding:30px 24px 0}.summary-top .eyebrow{font-size:7px;letter-spacing:1.2px;color:#8a957f}.live-dot{height:5px;width:5px;background:#a7b59b;border-radius:50%}.house-art{width:100%;height:210px;display:block;margin:4px 0 0;opacity:.95}.summary-inner{padding:0 24px 26px}.summary-inner h3{font-family:'Manrope',Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:-.4px}.summary-intro{font-size:10px;line-height:1.75;color:#8c9487;margin:9px 0 22px}.summary-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e3e8dc;padding:12px 0;font-size:9px}.summary-lines span{color:#8b9585}.summary-lines strong{color:#65755f;font-weight:500;text-align:right}.progress-caption{display:flex;justify-content:space-between;align-items:center;margin:26px 0 9px;font-size:8px;color:#89957f}.progress-caption strong{font-weight:550;font-size:9px;color:#718168}.progress-track{height:4px;background:#e0e6d8;border-radius:5px;overflow:hidden}.progress-track span{display:block;height:100%;background:#7b9775;transition:width .4s}.summary-note{display:flex;gap:10px;align-items:center;border-top:1px solid #e3e8dc;margin-top:28px;padding-top:19px;font-size:8px;color:#8e9985;line-height:1.8}.summary-note svg{color:#91a086;flex-shrink:0}.summary-note strong{font-weight:400;color:#a0a795}.bottom-note{display:flex;justify-content:space-between;align-items:center;padding:22px 3px 40px;color:#87917f}.bottom-note>div{display:flex;align-items:center;gap:8px;font-size:10px}.bottom-note>div span{font-size:17px}.bottom-note p{font-size:9px;text-align:right;line-height:1.8;color:#a0a697}footer{max-width:1280px;margin:0 auto;border-top:1px solid var(--line);padding:23px 5.5%;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a4ac9c}footer>span:first-child{font-family:'Manrope',Arial,sans-serif;font-size:16px;font-weight:750;letter-spacing:-.7px;color:#71826a}footer .text-button{font-size:9px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.service-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e3e7de;border-radius:8px;background:white;padding:19px 13px;min-height:91px;transition:border-color .2s,background .2s}.service-card:hover{border-color:#9aae94;background:#fcfdf9}.service-card.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#f6f9f2}.service-icon{width:37px;height:37px;display:grid;place-items:center;background:#edf2e8;color:#819277;border-radius:8px;flex-shrink:0}.service-card strong{display:block;font-size:12px;font-weight:600;line-height:1.4}.service-card small{display:block;font-size:9px;line-height:1.6;color:#8c9586;margin-top:5px}.service-arrow{margin-left:auto;align-self:center;color:#99a38f;font-size:17px}.hint{display:flex;gap:9px;align-items:flex-start;padding:14px 0 0;margin-top:12px;color:#8e9887;font-size:10px;line-height:1.8}.hint>span{font-size:16px;line-height:1.3}.form-block{border-top:1px solid var(--line);padding:23px 0 25px}.block-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.block-title>span{font-size:8px;color:#9ca68e;border:1px solid #dfe5d7;display:grid;place-items:center;border-radius:50%;width:20px;height:20px}.block-title h3{font-size:13px;font-weight:600;letter-spacing:-.2px}.optional{color:#a0a795;font-weight:400;font-size:10px;margin-left:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px}.field{margin-bottom:15px;min-width:0}.field label,.group-label{display:block;font-size:11px;font-weight:500;color:#586951;margin-bottom:9px;line-height:1.5}.required{color:#b7a07d;font-size:10px}input:not([type=range],[type=checkbox],[type=file]),select,textarea{display:block;width:100%;border:1px solid #dce3d5;border-radius:5px;padding:12px 11px;font-size:12px;color:#475d41;background:#fff;min-height:43px}input::placeholder,textarea::placeholder{color:#b0b7a8;font-size:11px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%2387977c' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}textarea{line-height:1.7;resize:vertical;min-height:100px}.input-unit{position:relative}.input-unit input{padding-right:78px!important}.input-unit>span{position:absolute;right:12px;top:14px;font-size:10px;color:#929d88;pointer-events:none}.field-hint{display:block;font-size:9px;line-height:1.7;color:#96a08d;margin-top:7px;font-weight:400}.group-label{margin-top:18px}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choice{padding:13px 8px;border:1px solid #dfe5d8;border-radius:6px;background:white;text-align:center}.choice strong{font-size:11px;display:block;font-weight:550}.choice small{font-size:8px;display:block;color:#9ba58f;margin-top:5px;line-height:1.4}.choice:hover{border-color:#9bb18e}.choice.selected{background:#f1f6ed;border-color:#6f8c61;box-shadow:0 0 0 1px #6f8c61}.upload-zone{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px dashed #cbd7bf;border-radius:8px;padding:23px 12px;background:#fcfdf9;cursor:pointer;transition:background .15s}.upload-zone:hover,.upload-zone:has(+input:focus-visible){background:#f0f5e9}.upload-zone strong{font-size:11px;font-weight:550;margin-top:7px}.upload-zone small{font-size:9px;color:#8f9c83;margin-top:7px}.upload-zone>span:last-child{font-size:8px;color:#adb5a4;margin-top:10px}.upload-icon{display:grid;place-items:center;background:#edf2e7;border-radius:50%;width:29px;height:29px;font-size:19px;color:#839876}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.photo{position:relative;border-radius:5px;overflow:hidden;height:110px}.photo img{width:100%;height:100%;object-fit:cover}.photo button{position:absolute;right:5px;top:5px;background:#fff;border:0;border-radius:50%;height:24px;width:24px;font-size:17px;box-shadow:0 1px 5px #0003}.photo>span{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;color:white;background:#0006;font-size:8px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.budget-options>label:first-child{display:flex;align-items:center;justify-content:space-between;font-size:11px}.budget-options>label:first-child strong{font-size:12px;color:var(--green)}input[type=range]{width:100%;accent-color:#65805a;margin:17px 0 3px}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}.checkbox-label{display:flex;align-items:center;gap:8px;margin-top:19px;font-size:10px;color:#7f8e74}.error-banner{background:#fbf1ec;border:1px solid #e7bdaa;color:#a05239;font-size:11px;line-height:1.6;padding:12px;border-radius:6px;margin:0 0 18px}.field-error{display:block;color:#a25540;margin-top:6px;font-size:10px;line-height:1.5}.has-error input,.has-error select{border-color:#bb7962!important;background-color:#fffcfa!important}.estimate-card{background:#eef3e9;border:1px solid #d7e2cf;border-radius:10px;padding:24px}.estimate-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#6e8064;line-height:1.6}.estimate-separator{padding:0 5px;color:#b1bca5}.badge{font-size:6px;font-weight:600;letter-spacing:.8px;border:1px solid #ccdac0;padding:4px 7px;border-radius:4px;white-space:nowrap}.budget-label{font-size:11px;color:#788d6a;margin-top:24px}.average{font-family:'Manrope',Arial,sans-serif;font-size:50px;letter-spacing:-2px;font-weight:600;line-height:1.3;margin-top:3px;color:#36532d}.average>span{font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:.7px;margin-left:8px;color:#9ba98e;font-weight:400}.estimate-basis{font-size:9px;color:#96a687;margin-top:2px}.range-bar{display:flex;justify-content:space-between;align-items:center;height:6px;background:linear-gradient(90deg,#c6d6b8,#7c9d65,#c6d6b8);border-radius:4px;position:relative;margin:27px 0 10px}.range-bar span{border:2px solid #8ba375;width:9px;height:9px;background:#eef3e9;border-radius:50%}.range-bar i{position:absolute;left:50%;height:15px;width:3px;background:#496b34;border:2px solid #eef3e9;box-sizing:content-box}.range-labels{display:flex;justify-content:space-between}.range-labels>div:last-child{text-align:right}.range-labels span{font-size:7px;letter-spacing:1px;color:#93a283;display:block}.range-labels strong{display:block;font-size:18px;color:#567245;font-weight:500;margin-top:6px}.confidence{display:flex;align-items:center;gap:11px;margin-top:25px;padding-top:17px;border-top:1px solid #d6e0cb}.confidence-icon{font-size:29px;color:#88a26f}.confidence strong{font-size:10px;color:#6c8658;font-weight:550}.confidence p{font-size:8px;line-height:1.8;color:#99a88a;margin-top:4px}.result-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:18px 0 24px}.result-actions .primary,.result-actions .secondary{font-size:10px;padding:11px 13px}.result-actions .text-button{font-size:10px;margin-left:auto}.breakdown{border-top:1px solid var(--line);padding:23px 0}.breakdown h3{font-size:14px;font-weight:550}.breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #eef0e9;font-size:11px;color:#78896b}.breakdown>div:first-of-type{margin-top:13px}.breakdown>div strong{font-weight:500;white-space:nowrap;color:#4e6841}.breakdown>div.breakdown-sub{font-size:9px;color:#9aa88f;border:0;padding:7px 0 7px 12px}.breakdown-sub strong{color:#8d9d81!important}.breakdown>div.breakdown-total{font-size:12px;font-weight:600;border-bottom:0;margin-top:5px}.breakdown>small{display:block;font-size:8px;color:#9ba88f;line-height:1.8;margin-top:10px}.scope-alert{background:#faf5e8;border:1px solid #eadcb9;border-radius:5px;padding:12px;display:flex;gap:10px;margin-bottom:10px;color:#aa8a4b}.scope-alert span{font-size:17px}.scope-alert p{font-size:10px;line-height:1.7}.result-details{border-top:1px solid var(--line);padding:16px 0;font-size:10px;color:#89977c;line-height:1.9}.result-details summary{cursor:pointer;font-size:12px;font-weight:550;color:#5b754b}.result-details p{margin:12px 0 0}.result-details li{margin:6px 0}.result-details .text-button{font-size:10px;color:#6f885d}.detail-list{font-size:10px;margin:12px 0}.detail-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:7px 0;border-bottom:1px solid #eef0e9}.detail-list dt{color:#8d9c80}.detail-list dd{margin:0;text-align:right;font-weight:500;color:#637e51}.description-quote{white-space:pre-wrap;background:#f6f8f1;border-radius:6px;padding:12px}.next-step{border-top:1px solid var(--line);padding:24px 0;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.next-step h3{font-family:'Manrope',Arial,sans-serif;font-size:18px;font-weight:550;letter-spacing:-.5px;margin:8px 0}.next-step p{font-size:10px;line-height:1.8;color:#8e9e80;max-width:380px}.next-step .eyebrow{font-size:7px}.next-step .secondary{font-size:10px}.result-footnote{font-size:8px;color:#a7b09c;line-height:1.7;padding:0 0 24px}dialog{border:1px solid #d9e1d0;padding:36px;max-width:610px;width:calc(100% - 30px);max-height:87vh;border-radius:12px;color:var(--ink);box-shadow:0 25px 100px #11201530;overscroll-behavior:contain}dialog::backdrop{background:#263c3566;backdrop-filter:blur(4px)}dialog h2{font-family:'Manrope',Arial,sans-serif;font-size:28px;letter-spacing:-1px;font-weight:600;margin:12px 0 15px}dialog h3{font-size:14px;font-weight:600;margin:22px 0 10px}dialog p{font-size:12px;color:#839176;line-height:1.9;margin:10px 0}dialog .field{margin:22px 0 18px}.modal-close{position:absolute;top:11px;right:13px;border:0;background:none;width:27px;height:27px;font-size:23px;color:#95a28a}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.danger{background:#aa6048;border-color:#aa6048}.danger-text{color:#a26a55;font-size:10px;padding:0;border:0;background:none;margin-top:20px}.how-list{padding-left:20px;margin:24px 0}.how-list li{padding:0 0 12px 7px;color:#8b9d7b;font-size:12px}.how-list strong{color:#567145;font-size:13px;font-weight:550}.how-list p{margin:5px 0;font-size:11px}.source-list{padding-left:18px;line-height:1.9;font-size:12px}.source-list li{margin-bottom:9px}.source-list small{display:block;color:#9aa78f;font-size:10px}.history-list{margin-top:24px}.history-item{border:1px solid #e1e7d9;border-radius:7px;display:flex;align-items:stretch;margin-bottom:10px}.history-item>button:first-child{background:none;border:0;text-align:left;padding:15px;flex:1;min-width:0}.history-item strong{display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere}.history-item span{display:block;color:#9ba98e;font-size:10px;margin-top:7px}.history-item b{display:block;font-size:15px;font-weight:550;color:#6e895a;margin-top:9px}.delete-project{border:0;background:none;color:#9eab92;font-size:20px;padding:0 16px}.empty-state{padding:36px 20px;text-align:center;background:#f5f8ef;border-radius:8px;color:#7a9069;font-size:14px;margin-top:23px;line-height:2}.empty-state small{font-size:11px;color:#a0ae93}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#345337;color:#fff;padding:14px 23px;border-radius:8px;box-shadow:0 5px 20px #0002;font-size:12px;transition:.2s;z-index:10;max-width:calc(100% - 30px);width:max-content;line-height:1.5}#toast.visible{opacity:1;transform:translate(-50%,0)}#print-area{display:none}.skip{position:absolute;top:-60px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}
@media(min-width:1440px){.hero{padding-top:58px;padding-bottom:45px}.category-image{height:135px}.category-copy{padding:16px}.category-copy p{font-size:10px}.category-copy h3{font-size:14px}.work-panel{padding:34px 32px 0}.workspace{grid-template-columns:minmax(0,1fr) 340px}.section-heading h2{font-size:28px}.section-heading p{font-size:13px}.summary-inner{padding-left:28px;padding-right:28px}.house-art{height:236px}.summary-inner h3{font-size:18px}.summary-intro{font-size:11px}.summary-lines>div{font-size:10px}.summary-top .eyebrow{font-size:8px}.step{font-size:12px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 260px}.hero-aside{padding-right:0}.category-grid{gap:10px}.category-copy{padding:11px 9px}.category-copy h3{font-size:12px}.category-copy p{font-size:8px}.summary-top{padding:27px 20px 0}.summary-inner{padding:0 20px 24px}.house-art{height:190px}.summary-inner h3{font-size:14px}.work-panel{padding:28px 23px 0}.service-list{grid-template-columns:1fr}.service-card{min-height:75px;padding:15px}.choice small{font-size:7px}.estimate-heading{flex-wrap:wrap}.average{font-size:44px}.hero-aside{font-size:10px;gap:12px}.small-roof{height:55px;width:55px;font-size:40px}}
@media(max-width:800px){.site-header{padding:21px 5%}.brand{font-size:25px}.brand svg{width:29px;height:29px}.site-header nav{gap:20px}.hero{padding:35px 0 30px}.hero-aside{display:none}main{padding:0 5%}h1{font-size:43px}.hero .eyebrow{font-size:8px}.hero p{font-size:12px}.workspace{display:block}.project-panel{border-radius:0;border-top:1px solid var(--line);display:none}.work-panel{border-right:0;padding:27px 23px 0}.category-image{height:130px}.category-copy p{font-size:10px;min-height:30px}.category-copy h3{font-size:14px}.category-copy{padding:14px}.service-list{grid-template-columns:1fr 1fr}.service-card{padding:17px 12px;min-height:94px}.builder-top{padding:17px 23px}.stepper{padding:0 23px}.step{font-size:10px;gap:7px}.step-line{margin:0 15px 0 5px}.section-heading h2{font-size:27px}.bottom-note{padding-bottom:30px}.choice small{font-size:9px}.estimate-heading{flex-wrap:nowrap}.average{font-size:52px}}
@media(max-width:560px){.site-header{padding:18px 5%}.brand{font-size:23px;gap:6px}.brand svg{width:27px;height:27px}.site-header nav{gap:0}.site-header nav>.text-button{display:none}.saved-button{font-size:10px;gap:5px;padding:9px}.saved-button>span:first-child{font-size:17px}h1{font-size:37px;letter-spacing:-1.7px;margin:15px 0}.hero{padding:29px 0 28px}.hero p{font-size:11px;line-height:1.8}.hero .eyebrow{font-size:6.5px;letter-spacing:1.4px}.builder{border-radius:10px}.builder-top{padding:15px 16px;gap:9px}.builder-label{font-size:8px;letter-spacing:1px;gap:6px}.sparkle{font-size:14px}.save-status{font-size:7px;max-width:130px;text-align:right;line-height:1.6}.stepper{padding:0 13px}.step{padding:16px 0;gap:5px;font-size:8px;justify-content:center;flex-wrap:wrap}.step-number{width:19px;height:19px;font-size:7px;flex-shrink:0}.step>span:nth-child(2){font-size:8px;white-space:nowrap}.step-line{display:none}.step.active:after{right:8px;left:8px}.work-panel{padding:23px 16px 0}.section-heading{margin-bottom:20px}.section-heading .eyebrow{font-size:6.5px;letter-spacing:1.3px}.section-heading h2{font-size:23px;letter-spacing:-.8px;line-height:1.35}.section-heading p{font-size:10px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.category-image{height:98px}.category-copy{padding:12px 10px}.category-copy h3{font-size:12px}.category-copy h3>span{font-size:12px}.category-copy p{font-size:8px;min-height:24px;margin:5px 0 9px}.service-count{font-size:6px;letter-spacing:.9px}.actions{margin-top:22px;padding:17px 0;gap:12px}.actions>.small{max-width:108px;font-size:7px}.primary,.secondary{padding:12px 13px;font-size:10px;min-height:43px;gap:9px}.primary svg{width:15px}.bottom-note{padding:19px 0 28px;display:block}.bottom-note>div{font-size:9px}.bottom-note p{text-align:left;font-size:8px;margin-top:8px;line-height:1.7}footer{padding:18px 5%;flex-wrap:wrap;gap:13px}footer>span:nth-child(2){display:none}.service-list{grid-template-columns:1fr;gap:9px}.service-card{min-height:75px;padding:13px}.service-card strong{font-size:12px}.service-card small{font-size:9px}.hint{font-size:9px}.form-grid{grid-template-columns:1fr;gap:0}.field label,.group-label{font-size:11px}.field-hint{font-size:9px}.form-block{padding:21px 0}.choice-row{gap:6px}.choice{padding:12px 5px}.choice strong{font-size:10px}.choice small{font-size:7px;line-height:1.6}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo{height:105px}.budget-options>label:first-child{font-size:11px}.checkbox-label{font-size:10px}.estimate-card{padding:18px}.estimate-heading{flex-wrap:wrap;gap:9px;font-size:9px}.badge{font-size:6px}.average{font-size:43px;letter-spacing:-2px}.budget-label{font-size:10px;margin-top:22px}.estimate-basis{font-size:8px}.range-labels strong{font-size:17px}.confidence p{font-size:8px}.confidence strong{font-size:10px}.result-actions .primary,.result-actions .secondary{font-size:9px;flex:1;padding:11px 10px}.result-actions .text-button{margin-left:0;font-size:9px}.breakdown>div{font-size:10px}.breakdown>div.breakdown-total{font-size:11px}.detail-list>div{gap:15px}.detail-list dt{max-width:65%}.result-details{font-size:10px}.result-details summary{font-size:11px}.next-step h3{font-size:17px}.next-step p{font-size:10px}.result-footnote{font-size:8px}dialog{padding:29px 23px;max-height:90vh}dialog h2{font-size:25px}dialog p{font-size:11px}.modal-actions{flex-direction:column}.upload-zone{padding:22px 8px}.error-banner{font-size:10px}#toast{font-size:10px;padding:12px 16px;bottom:18px}.result-details li{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Comfortable reading sizes across the builder, including compact screens. */
.section-heading p{font-size:13px;color:#6c7866}.category-copy p{font-size:11px;color:#717d6a;min-height:33px}.service-count{font-size:8px;color:#7d8975}.category-copy h3{font-size:14px}.small{font-size:11px;color:#77836d}.summary-intro{font-size:11px;color:#78866e}.summary-lines>div{font-size:11px}.summary-lines span{color:#7b896f}.summary-lines strong{color:#536a47}.summary-note{font-size:10px;color:#7b8b6e}.summary-note strong{color:#829275}.progress-caption{font-size:10px;color:#7a8b6c}.progress-caption strong{font-size:11px}.step{font-size:12px}.service-card strong{font-size:14px}.service-card small{font-size:11px;color:#7d8c71}.hint{font-size:12px;color:#7d8b70}.field label,.group-label{font-size:13px;color:#536849}input:not([type=range],[type=checkbox],[type=file]),select,textarea{font-size:14px}input::placeholder,textarea::placeholder{font-size:12px;color:#8e9d82}.input-unit>span{font-size:11px}.field-hint{font-size:11px;color:#7a8a6c}.choice strong{font-size:12px}.choice small{font-size:10px;color:#7e906d}.block-title h3{font-size:15px}.upload-zone strong{font-size:13px}.upload-zone small{font-size:11px;color:#7c8d6d}.upload-zone>span:last-child{font-size:10px;color:#859475}.checkbox-label{font-size:12px;color:#6c805a}.budget-options>label:first-child{font-size:13px}.estimate-heading{font-size:12px}.badge{font-size:8px}.budget-label{font-size:13px}.estimate-basis{font-size:11px;color:#7a8e68}.range-labels span{font-size:9px;color:#7a8f66}.confidence strong{font-size:12px}.confidence p{font-size:11px;color:#768c64}.breakdown>div{font-size:13px}.breakdown>div.breakdown-sub{font-size:11px;color:#7a8f68}.breakdown-sub strong{color:#6d8558!important}.breakdown>small{font-size:10px;color:#859672}.result-details{font-size:12px;color:#748965}.result-details summary{font-size:14px}.detail-list{font-size:12px}.detail-list dt{color:#7c906a}.scope-alert p{font-size:12px;color:#92703a}.next-step p{font-size:12px;color:#7c9069}.result-footnote{font-size:10px;color:#8e9f7c}.result-actions .primary,.result-actions .secondary,.result-actions .text-button{font-size:12px}.photo>span{font-size:10px}.optional{font-size:11px}.primary,.secondary{font-size:12px}.save-status{font-size:11px;color:#7c8a72}.summary-top .eyebrow{color:#738568}.bottom-note p{font-size:10px;color:#859477}.bottom-note>div{font-size:11px}.source-list small{color:#7d916b;font-size:11px}dialog p{color:#70865e}.hero p{color:#707c69}.hero .eyebrow{font-size:10px}.category-image{background:#e7e5da}
@media(max-width:800px){.step{font-size:11px}.category-copy p{font-size:11px}.category-copy h3{font-size:14px}.hero p{font-size:13px}.service-card{min-height:95px}.save-status{font-size:10px}.choice small{font-size:10px}}
@media(max-width:560px){.hero .eyebrow{font-size:8px}.hero p{font-size:12px}.save-status{font-size:8px}.builder-label{font-size:8px}.step>span:nth-child(2){font-size:9px}.category-copy h3{font-size:13px}.category-copy p{font-size:10px;line-height:1.6;min-height:32px}.service-count{font-size:7px}.section-heading p{font-size:12px}.actions>.small{font-size:9px;max-width:104px}.primary,.secondary{font-size:11px}.section-heading .eyebrow{font-size:8px}.service-card strong{font-size:14px}.service-card small{font-size:11px}.field label,.group-label{font-size:13px}input:not([type=range],[type=checkbox],[type=file]),select,textarea{font-size:16px}.field-hint{font-size:11px}.choice strong{font-size:12px}.choice small{font-size:9px}.hint{font-size:11px}.estimate-heading{font-size:11px}.badge{font-size:7px}.budget-label{font-size:12px}.estimate-basis{font-size:10px}.confidence p{font-size:10px}.range-labels span{font-size:8px}.confidence strong{font-size:12px}.breakdown>div{font-size:12px}.breakdown>div.breakdown-total{font-size:12px}.breakdown>div.breakdown-sub{font-size:10px}.result-actions .primary,.result-actions .secondary,.result-actions .text-button{font-size:10px}.result-details summary{font-size:13px}.result-details{font-size:11px}.detail-list{font-size:11px}.scope-alert p{font-size:11px}.next-step p{font-size:11px}.bottom-note p{font-size:10px}.result-footnote{font-size:9px}.checkbox-label{font-size:12px}.budget-options>label:first-child{font-size:13px}.upload-zone strong{font-size:13px}.upload-zone small{font-size:11px}}
@media print{body{background:white;color:#222;font:11px Arial,sans-serif}.site-header,main,footer,dialog,#toast,.skip{display:none!important}#print-area{display:block;max-width:750px;margin:0 auto}#print-area h1{font:28px Arial,sans-serif;margin:20px 0 10px;letter-spacing:-.5px}#print-area h2{font:22px Arial,sans-serif;margin:20px 0 10px}#print-area h3{font:14px Arial,sans-serif;margin:20px 0 8px}#print-area p{line-height:1.7;margin-bottom:12px}.print-brand{color:#365b4b;font:bold 20px Arial,sans-serif}.detail-list{font-size:10px}.detail-list div{padding:5px}.detail-list dt,.detail-list dd{color:#333}.detail-list>div{break-inside:avoid}#print-area p{break-inside:avoid}@page{margin:18mm}}

#photo-input{position:static;width:100%;height:auto;clip:auto;margin:10px 0 0;overflow:visible;white-space:normal;font-size:11px;color:#748a62}#photo-input::file-selector-button{border:1px solid #d7dfd0;border-radius:5px;background:#f7f9f3;color:#506a43;padding:9px 13px;margin-right:10px;font:inherit;cursor:pointer}
.category-card[data-category="cleaning"]{grid-column:1/-1;display:grid;grid-template-columns:200px 1fr;align-items:stretch}.category-card[data-category="cleaning"] .category-image{height:130px}.category-card[data-category="cleaning"] .category-copy{display:flex;flex-direction:column;justify-content:center;padding:18px 23px}.category-card[data-category="cleaning"] .category-copy p{min-height:0;margin-bottom:12px}.monthly-budget{margin-top:14px;padding:20px;border:1px solid #d4e0d2;border-radius:8px;background:#f6f9f2}.monthly-budget .eyebrow{font-size:8px}.monthly-budget h3{font-family:'Manrope',Arial,sans-serif;font-size:27px;font-weight:600;letter-spacing:-.8px;margin-top:8px}.monthly-budget h3 small{font:10px 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#839577}.monthly-budget p{font-size:11px;line-height:1.8;color:#7c906d;margin-top:7px}.monthly-budget>.field-hint{font-size:10px;padding-top:10px;border-top:1px solid #e0e8d9;margin-top:12px}.cleaning-scope-note{font-size:11px;color:#829672;line-height:1.8;margin-top:13px}
@media(max-width:560px){.category-card[data-category="cleaning"]{grid-template-columns:115px 1fr}.category-card[data-category="cleaning"] .category-image{height:135px}.category-card[data-category="cleaning"] .category-copy{padding:12px}.monthly-budget{padding:16px}.monthly-budget h3{font-size:25px}.monthly-budget p,.cleaning-scope-note{font-size:10px}}
@media print{.monthly-budget{background:white;border-color:#ccc;break-inside:avoid}.monthly-budget p,.monthly-budget h3 small{color:#333}.monthly-budget h3{font-size:20px}}

/* Brighter Renovision palette: colourful categories, fresh teal actions, clear text. */
@media screen{
:root{--ink:#193a4b;--green:#087f70;--green-dark:#086555;--muted:#607585;--line:#dce9ef;--paper:#f4fbff;--cream:#ecf9f8;--gold:#ed921e;--red:#b24e3f}
body{background:radial-gradient(ellipse at 95% 0%,#dcf5ff 0,transparent 40%),radial-gradient(ellipse at 0% 25%,#e9fff2 0,transparent 32%),var(--paper)}
.site-header{border-color:#d7e9ed}.brand{color:#076c61}.brand-dot,.sparkle{color:#ed921e}.hero h1>span{color:#069981}.hero p,.hero-aside{color:#567385}.hero-aside strong{color:#197f76}.small-roof{background:#d5f7e9;border-color:#9cddc9;color:#008d74}
.builder{border-color:#cfe4e8;box-shadow:0 14px 44px #147e9020}.builder-top{background:#f1fcff}.stepper{background:#fbfeff}.builder-label{color:#1c6478}.step{color:#6b8390}.step.active{color:#007b68}.step.active:after{background:linear-gradient(90deg,#00a98b,#4eaff0)}.step.active .step-number{background:#079782;border-color:#079782}.step.done .step-number{background:#ccf6e5;color:#066a53}.step-line{background:#d6e8ed}
.category-card{--category-accent:#089c83;border-color:#d9e7ec;border-top:3px solid var(--category-accent)}.category-card[data-category="interior"]{--category-accent:#ec9a27}.category-card[data-category="mechanical"]{--category-accent:#13afbc}.category-card[data-category="structural"]{--category-accent:#e8b725}.category-card[data-category="exterior"]{--category-accent:#409be8}.category-card[data-category="outdoor"]{--category-accent:#71b739}.category-card[data-category="major"]{--category-accent:#f18456}.category-card[data-category="cleaning"]{--category-accent:#9271e7}
.category-card .scene{filter:saturate(1.65) brightness(1.03)}.category-card:hover{border-color:var(--category-accent);box-shadow:0 8px 24px #2595a522}.category-card.selected{border-color:#00977e;box-shadow:0 0 0 2px #05ad8c}.category-copy h3{color:#22475b}.category-copy h3>span{color:var(--category-accent)}.category-copy p{color:#586f7b}.service-count{color:#617c8b}.selected .selection-dot{background:#009b7f;border-color:#009b7f}.selection-dot{border-color:#fff;background:#ffffffe0}
.primary{background:#087f70;border-color:#087f70;box-shadow:0 4px 11px #00877520}.primary:hover:not(:disabled){background:#066b5d}.primary:disabled{background:#aac9d0;border-color:#aac9d0;color:#244b58;opacity:1}.secondary{color:#0c8075;border-color:#a7d9d6}.secondary:hover{background:#e0faf2}.text-button{color:#587687}.saved-button{background:#fff;border-color:#bfdde4;color:#2b6477}.saved-button:hover{background:#e3f7ff}.saved-button #saved-count{background:#d2f4ee;color:#0b7466}
.project-panel{background:linear-gradient(160deg,#e7f8ff,#edfff3)}.house-art{filter:saturate(1.5)}.summary-top .eyebrow{color:#3e8191}.live-dot{background:#09b783}.summary-inner h3{color:#176d64}.summary-intro,.summary-lines span{color:#5d7d87}.summary-lines strong{color:#2d6970}.summary-lines>div,.summary-note{border-color:#cce5e5}.summary-note,.summary-note strong{color:#537e7a}.summary-note svg{color:#05a486}.progress-caption,.progress-caption strong{color:#4a7978}.progress-track{background:#cce8e8}.progress-track span{background:linear-gradient(90deg,#0ebca0,#4ca7ef)}
.section-heading p,.small,.hint{color:#5a7280}.section-heading .eyebrow{color:#408186}.service-icon{background:#d6f8ee;color:#039982}.service-card{border-color:#d5e7ed}.service-card small{color:#5d7885}.service-card:hover{background:#f0fbff;border-color:#77cfc4}.service-card.selected{background:#e7fbf3;border-color:#059f85;box-shadow:0 0 0 1px #059f85}.service-arrow{color:#079e89}
.field label,.group-label,.block-title h3{color:#315e6b}.field-hint,.upload-zone small,.upload-zone>span:last-child,.optional{color:#607d88}.choice{border-color:#c9e1e5}.choice.selected{background:#dffbf0;border-color:#0b9e83;box-shadow:0 0 0 1px #0b9e83}.choice strong{color:#1d685f}.choice small{color:#517c7b}.input-unit>span{color:#5e7f8b}input:not([type=range],[type=checkbox],[type=file]),select,textarea{border-color:#c6e0e7;color:#224e61}input::placeholder,textarea::placeholder{color:#7d959f}input[type=range]{accent-color:#069f86}input[type=checkbox]{accent-color:#087f70}.checkbox-label{color:#416c75}.upload-zone{background:#f0fcff;border-color:#8fced6}.upload-zone:hover{background:#e0faf6}.upload-icon{background:#cefaeb;color:#079d80}.block-title>span{border-color:#b8ddd8;color:#1b9786}.budget-options>label:first-child{color:#2b6875}
.estimate-card{background:linear-gradient(135deg,#d8fff0,#e9faff);border-color:#87dcc8}.estimate-heading{color:#236e74}.badge{background:#fff9df;border-color:#eed477;color:#806119}.budget-label,.estimate-basis{color:#427e7d}.average{color:#08775e}.average>span{color:#487c75}.range-bar{background:linear-gradient(90deg,#96e8df,#0aaf91,#81d0f2)}.range-bar span{background:#effffa;border-color:#12a78d}.range-bar i{background:#007b63;border-color:#e4fff2}.range-labels span{color:#417b7b}.range-labels strong{color:#086c59}.confidence{border-color:#aadfce}.confidence-icon{color:#079f7f}.confidence strong{color:#176c60}.confidence p{color:#4d7e76}
.monthly-budget{background:linear-gradient(120deg,#eef1ff,#f7f0ff);border-color:#cec3ef}.monthly-budget h3{color:#6544a5}.monthly-budget h3 small,.monthly-budget p,.monthly-budget .eyebrow{color:#76608f}.monthly-budget>.field-hint{border-color:#dfd3f0}.cleaning-scope-note,.breakdown>small{color:#617e89}.breakdown h3{color:#235666}.breakdown>div{color:#527483}.breakdown>div strong{color:#166c64}.breakdown>div.breakdown-sub,.breakdown-sub strong{color:#5d817f!important}.result-details{color:#587887}.result-details summary{color:#176f6c}.detail-list dt{color:#5b7c87}.detail-list dd{color:#206e67}.description-quote{background:#edfaff}.next-step p,.result-footnote{color:#5c7b88}
.bottom-note,.bottom-note p,.bottom-note>div,footer{color:#607f8d}footer>span:first-child{color:#178276}dialog{border-color:#b8e0df}dialog p,.source-list small{color:#547682}.history-item{border-color:#c8e3e7}.history-item b{color:#09836c}.empty-state{background:#e4fcf2;color:#28765f}.empty-state small{color:#5e8276}#toast{background:#087d6b}.save-status{color:#5c7c85}
}
