/* Scoped services UI. Shared tokens come from the existing BimSmart stylesheet. */
.bim-services-public{background:#f7f8fa}.bim-services-public [hidden],.bim-services-admin [hidden]{display:none!important}
.bim-services-public nav [aria-current=page]{color:var(--orange-dark)}.preview-banner{padding:8px 24px;text-align:center;background:#fff6dc;border-bottom:1px solid #f0dfae;color:#745419;font-size:12px;line-height:1.6}.preview-banner a{margin-left:10px;color:inherit;font-weight:600}
.estimate-shell{max-width:1190px;margin:auto;padding:52px 30px 0}.intro{margin-bottom:36px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#848995;display:inline-flex;align-items:center;gap:8px}.intro>.eyebrow{color:#b75519}.small-dot{width:6px;height:6px;border-radius:50%;background:var(--orange)}.intro h1{font-size:39px;font-weight:750;line-height:1.3;letter-spacing:-1.6px;margin:15px 0}.intro h1 span{color:#848b97}.intro>p{font-size:14px;line-height:1.9;color:#6b7380}.step-track{list-style:none;display:flex;max-width:770px;margin:0 0 28px;padding:0}.step-track li{display:flex;align-items:center;gap:9px;flex:1;position:relative;font-size:12px;color:#9299a5;font-weight:550}.step-track li:not(:last-child):after{content:'';height:1px;background:#dce0e6;flex:1;margin:0 13px}.step-track b{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border:1px solid #dfe3e9;border-radius:50%;font-size:10px;background:#fff}.step-track .current{color:#c75b19}.step-track .current b{color:#fff;background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px #ffede0}.step-track .done b{background:#fff0e6;color:#cf641c;border-color:#ffd5b8}
.estimate-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px}.service-card{background:#fff;border:1px solid #e5e8ed;border-radius:18px;box-shadow:0 3px 10px #18202d03}.wizard-card{padding:32px 36px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.quiet-tag{font-size:10px;color:#8a909c;display:inline-block;background:#f6f7f9;padding:3px 8px;border-radius:4px}.wizard-card h2{font-size:24px;letter-spacing:-.6px;line-height:1.4;margin:0 0 8px}.wizard-card h2:focus{outline:none}.section-description{font-size:12px;color:#828997;margin-bottom:28px;line-height:1.8}.field{display:block;color:#384354;font-size:12px;font-weight:600;margin:0 0 20px}.field input,.field select,.field textarea{display:block;width:100%;margin-top:8px;border:1px solid #dfe3e9;border-radius:8px;background:#fff;color:#253041;padding:11px 12px;font-size:13px;font-weight:400;line-height:1.5;min-height:44px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a9aeba}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#fb9b56;box-shadow:0 0 0 3px #fff2e8}.field small{display:block;margin-top:6px;font-size:10px;font-weight:400;color:#949ba6}.optional{font-size:10px;font-weight:400;color:#949ba6;margin-left:4px}.required{color:#e97e39}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.input-unit{display:block;position:relative}.input-unit input{padding-right:48px}.input-unit>span{position:absolute;right:13px;top:12px;color:#8992a0;font-size:12px}.soft-note{display:flex;gap:12px;align-items:start;background:#f8f9fb;border-radius:9px;padding:16px;color:#83909f;font-size:11px;line-height:1.9;margin-top:5px}.soft-note>span{font-size:18px;color:#adbac9}.soft-note strong{font-weight:550;color:#526172}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #edf0f3;margin-top:30px;padding-top:23px}.wizard-actions .btn{font-size:12px;padding:11px 20px;min-height:43px;border-radius:8px;box-shadow:none;gap:26px}.wizard-actions .btn:disabled{opacity:.6;cursor:wait}.step-caption{font-size:10px;color:#9a9faa;margin-right:auto}.back-button{border:0;background:none;font-size:12px;color:#6c7686;cursor:pointer}.summary-card{padding:26px;position:relative;overflow:hidden}.summary-card h3{font-size:18px;line-height:1.6;letter-spacing:-.4px;margin:13px 0 24px;overflow-wrap:anywhere}.summary-card dl{position:relative;z-index:1}.summary-card dl>div{margin-bottom:16px}.summary-card dt{font-size:10px;color:#969da9;margin-bottom:4px}.summary-card dd{font-size:12px;color:#4c5767;margin:0;overflow-wrap:anywhere}.summary-divider{height:1px;background:#eceef2;margin:26px 0 20px}.summary-note{font-size:11px;line-height:1.9;color:#8c95a2;max-width:190px;position:relative;z-index:1}.aside-mark{position:absolute;right:-9px;bottom:-29px;font-size:95px;font-weight:800;letter-spacing:-9px;color:#fbf4ef;transform:rotate(-12deg);pointer-events:none}.aside-mark span{font-size:60px}.help-card{display:flex;gap:13px;margin-top:25px;padding:0 8px}.help-icon{display:grid;place-items:center;background:#fff0e5;color:#d67832;border-radius:10px;width:34px;height:34px;flex:0 0 34px;font-size:18px}.help-card strong{font-size:12px;font-weight:600}.help-card p{font-size:11px;line-height:1.9;color:#9098a5;margin:5px 0 9px}.help-card a{font-size:11px;color:#c5682c;font-weight:600;text-decoration:none}.aside-footnote{font-size:9px;color:#a6adb8;letter-spacing:1px;line-height:2.2;margin:30px 8px}.aside-footnote span{letter-spacing:0;font-size:10px}.estimate-footer{background:none;color:#9ca3af;display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding:22px 0 28px;border-top:1px solid #e5e8ed;font-size:10px}.estimate-footer div{display:flex;gap:22px}.estimate-footer a{color:inherit;text-decoration:none}
.choice-field{border:0;padding:0;margin:0 0 24px;min-width:0}.choice-field legend{font-size:12px;color:#384354;font-weight:600;margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choice{position:relative;display:flex;align-items:center;border:1px solid #e1e5eb;border-radius:8px;cursor:pointer;padding:12px 10px;gap:8px;font-size:11px;color:#646f7e;background:#fff}.choice input{accent-color:#ed7f30;flex-shrink:0;width:14px;height:14px}.choice:has(input:checked){border-color:#f8b481;background:#fff8f2;color:#b95819}.choice:has(input:focus-visible){outline:3px solid #ffe2cb;outline-offset:2px}.stages{grid-template-columns:repeat(2,1fr)}.scope-grid{grid-template-columns:repeat(3,1fr)}.form-alert{border:1px solid #f1c9be;background:#fff5f2;color:#ab4330;border-radius:8px;padding:12px 15px;font-size:12px;margin-bottom:20px}.result-card{margin-top:25px;padding:27px;background:#fff8f2;border:1px solid #f7ddc8;border-radius:13px}.result-symbol{color:#df7d34;font-size:27px;margin-bottom:14px}.result-card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.4px}.result-card p{font-size:12px;color:#96775f;line-height:1.9}.estimate-disclaimer{font-size:11px;line-height:1.9;color:#8b94a1;margin-top:18px}.included-list{margin-top:26px;font-size:11px;color:#7b8795}.included-list p{margin-top:12px}.included-list span{color:#66a18a;margin-right:10px}.privacy-note{font-size:11px;line-height:1.9;color:#9299a4}.privacy-note a{color:#b96930}.receipt-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#edf8f0;color:#4c9272;font-size:24px;margin:20px 0}.receipt-reference{padding:15px;background:#f6f8fa;border-radius:8px;font-size:12px;margin:20px 0}.wizard-card #receipt p{color:#7b8796;font-size:13px;line-height:1.9}.wizard-card #receipt .btn{font-size:12px}
@media(max-width:1000px){.estimate-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.wizard-card{padding:28px 25px}.step-track{max-width:100%}.scope-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.estimate-shell{padding:30px 18px 0}.intro h1{font-size:31px}.intro>p{font-size:12px}.desktop-break{display:none}.estimate-grid{grid-template-columns:1fr}.estimate-aside{display:none}.step-track li{flex-direction:column;gap:8px;text-align:center;font-size:9px}.step-track li:after{display:none}.step-track{margin-bottom:24px}.intro{margin-bottom:27px}.wizard-card{padding:24px 20px}.wizard-card h2{font-size:22px}.form-grid{gap:0 12px}.section-top .quiet-tag{font-size:9px}.step-caption{display:none}.wizard-actions #next{margin-left:auto}.choice-grid{grid-template-columns:repeat(2,1fr)}.estimate-footer{margin-top:28px}.preview-banner{font-size:10px;padding:8px 15px}.preview-banner a{display:block;margin:3px 0 0}}
@media(max-width:400px){.form-grid{grid-template-columns:1fr}.wizard-card{padding:23px 17px}.step-track li{font-size:8px}.section-top{gap:4px}.estimate-footer{flex-direction:column;gap:5px}.stages{grid-template-columns:1fr 1fr}}
