:root{color:#172021;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172021;--muted:#5e6b67;--brand:#234f41;--brand-dark:#173d32;--brand-soft:#eaf5ef;--line:#d9dfdc;--surface:#fff;--background:#eef1ef;--warning-bg:#fff7df;--warning-line:#e4cc7a;--error:#7a1f1f;--error-bg:#fff0f0;--error-line:#db9d9d;background:#eef1ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #406e5e40}.page-shell{background:radial-gradient(circle at top left, #4a665d21, transparent 38%), var(--background);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.quote-card,.workspace-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #1928241a}.quote-card{width:min(720px,100%);padding:clamp(24px,5vw,48px)}.brand-kicker{color:#4a665d;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:800}h1,h2,h3{margin:0;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.1rem)}h2{font-size:1.35rem}p{line-height:1.6}.lede{color:#53615d;max-width:58ch;margin:18px 0 30px;font-size:1.05rem}.zip-form label{margin-bottom:8px;font-weight:750;display:block}.input-row{grid-template-columns:1fr auto;gap:10px;display:grid}input[type=text],input[type=tel],input[type=email],input[type=number],input:not([type]){min-width:0}#project-zip{letter-spacing:.08em;border:1px solid #aebbb6;border-radius:10px;width:100%;padding:14px 16px;font-size:1.15rem}button{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:13px 20px;font-weight:750}button:hover:not(:disabled){background:var(--brand-dark)}.secondary-action{color:#294a40;background:#fff;border:1px solid #9caaa5}.secondary-action:hover:not(:disabled){background:#f0f5f2}.field-help{color:#687570;margin:8px 0 0;font-size:.9rem}.field-error{color:var(--error);margin:8px 0 0;font-size:.9rem;font-weight:700}.persistent-notice,.success-panel,.error-panel,.estimate-notice{border-radius:12px;margin-top:24px;padding:18px}.persistent-notice{background:var(--warning-bg);border:1px solid var(--warning-line)}.persistent-notice p{margin-top:0}.checkbox-row{align-items:flex-start;gap:10px;font-weight:650;display:flex}.checkbox-row input{width:18px;height:18px;margin-top:2px}.primary-action{width:100%;margin-top:24px}.success-panel{background:var(--brand-soft);border:1px solid #9fc9b5}.error-panel{background:var(--error-bg);border:1px solid var(--error-line);color:var(--error)}.error-panel p:first-child{margin-top:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.quote-card footer{color:var(--muted);border-top:1px solid #e1e6e3;margin-top:32px;padding-top:20px;font-size:.88rem;line-height:1.55}.app-shell{background:radial-gradient(circle at 12% 0%, #4a665d1f, transparent 32%), var(--background);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(18px,5vw,72px);display:flex}.app-title{font-size:1.25rem;font-weight:850}.quote-reference{color:var(--muted);font-size:.9rem}.quote-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:center;gap:8px;padding:10px 16px;display:flex}.quote-nav button{color:#4d5c57;background:0 0;min-width:110px;padding:9px 16px}.quote-nav button:hover:not(:disabled),.quote-nav button.active{color:var(--brand-dark);background:#edf4f0}.quote-nav button.active{box-shadow:inset 0 -2px 0 var(--brand)}.workspace-main{width:min(1220px,100%);margin:0 auto;padding:32px clamp(16px,4vw,48px) 56px}.workspace-card{width:min(980px,100%);margin:0 auto;padding:clamp(22px,4vw,42px)}.app-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;padding:18px clamp(18px,5vw,72px);font-size:.85rem}.questionnaire-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.questionnaire-card{width:100%}.stage-panel{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;padding:24px;position:sticky;top:24px}.stage-eyebrow{color:#4a665d;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:800}.stage-panel ol{gap:8px;margin:18px 0;padding:0;list-style:none;display:grid}.stage-panel li button{color:#596762;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.stage-panel li button span{border:1px solid #b8c2be;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.82rem;display:grid}.stage-panel li.active button{color:var(--brand-dark);background:#edf4f0}.stage-panel li.active button span,.stage-panel li.complete button span{background:var(--brand);color:#fff;border-color:var(--brand)}.stage-privacy-note{color:var(--muted);margin-bottom:0;font-size:.85rem}.stage-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.stage-header h1{margin-top:4px;font-size:clamp(1.8rem,4vw,2.55rem)}.stage-header p{max-width:64ch;color:var(--muted);margin-bottom:0}.stage-count{color:#4a665d;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:800}.save-indicator{background:var(--brand-soft);color:#2f654f;border-radius:999px;padding:7px 12px;font-size:.85rem;font-weight:750}.question-list{gap:18px;display:grid}.question-group{background:#fff;border:1px solid #d7dfdb;border-radius:14px;min-width:0;margin:0;padding:22px}.question-group-error{border-color:var(--error-line);box-shadow:0 0 0 2px #7a1f1f0f}.question-group legend{width:100%;padding:0}.question-section{color:#597067;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:850;display:block}.question-title{font-size:1.08rem;font-weight:800;display:block}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.choice-grid-multi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.choice-card{cursor:pointer;background:#fbfcfb;border:1px solid #bdc8c3;border-radius:10px;align-items:center;gap:10px;min-height:54px;padding:13px 14px;font-weight:680;display:flex;position:relative}.choice-card:hover{background:#f4f8f6;border-color:#789486}.choice-card.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#eaf3ef}.choice-card input{width:18px;height:18px;accent-color:var(--brand)}.choice-help,.choice-error{grid-column:1/-1}.number-grid{margin-top:16px}.number-grid-multiple{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.number-field label{margin-bottom:7px;font-weight:750;display:block}.number-input-wrap{align-items:stretch;display:flex}.number-input-wrap input{border:1px solid #aebbb6;border-radius:9px 0 0 9px;width:100%;min-width:0;padding:12px 13px}.number-input-wrap input:only-child{border-radius:9px}.input-unit{color:var(--muted);white-space:nowrap;background:#f0f3f1;border:1px solid #aebbb6;border-left:0;border-radius:0 9px 9px 0;align-items:center;padding:0 12px;display:flex}.group-error{border-top:1px solid #efd0d0;padding-top:12px}.questionnaire-actions,.page-actions{align-items:center;gap:12px;margin-top:28px;display:flex}.questionnaire-actions{border-top:1px solid #e2e7e4;justify-content:flex-end;padding-top:22px}.page-actions-spread{justify-content:space-between}.loading-state{text-align:center}.loading-state p{color:var(--muted)}.loading-spinner{border:4px solid #d9e3df;border-top-color:var(--brand);border-radius:50%;width:42px;height:42px;margin:0 auto 18px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.output-header{border-bottom:1px solid #e1e6e3;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:26px;display:flex}.output-header h1{margin-top:8px;font-size:clamp(2rem,4vw,2.8rem)}.output-header p{max-width:62ch;color:var(--muted);margin-bottom:0}.status-pill{background:var(--brand-soft);color:#315f4e;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:850;display:inline-block}.quote-total{background:var(--brand);color:#fff;text-align:right;border-radius:14px;min-width:220px;padding:18px}.quote-total span{opacity:.82;font-size:.82rem;display:block}.quote-total strong{margin-top:5px;font-size:1.9rem;display:block}.line-item-groups{gap:28px;margin-top:30px;display:grid}.line-item-group h2{border-bottom:2px solid #dbe3df;padding-bottom:10px}.line-item-list{display:grid}.line-item{border-bottom:1px solid #e7ebe9;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 4px;display:grid}.line-item-description strong,.line-item-description span{display:block}.line-item-description span{color:var(--muted);margin-top:4px;font-size:.9rem}.line-item-total{white-space:nowrap;align-self:center;font-weight:800}.line-item.custom_review{border:1px solid var(--warning-line);background:var(--warning-bg);border-radius:10px;margin:8px 0;padding:16px}.estimate-notice{color:#4f5d58;background:#f3f5f4;border:1px solid #d5ddda}.custom-quote-panel{background:#f4f7f5;border-radius:14px;margin-top:26px;padding:22px}.empty-output{text-align:center}.empty-output p{color:var(--muted)}.item-count{text-align:center;background:#edf4f0;border-radius:12px;min-width:110px;padding:14px}.item-count strong,.item-count span{display:block}.item-count strong{color:var(--brand);font-size:2rem}.item-count span{color:var(--muted);font-size:.85rem}.purchase-note,.glass-note{border-radius:12px;margin-top:24px;padding:16px 18px;line-height:1.55}.purchase-note{background:var(--warning-bg);border:1px solid var(--warning-line)}.purchase-note strong{display:block}.purchase-list{border-top:1px solid #dde4e1;margin-top:24px;display:grid}.purchase-item{border-bottom:1px solid #dde4e1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px 4px;display:grid}.purchase-item strong,.purchase-item span{display:block}.purchase-item span{color:var(--muted);margin-top:4px;font-size:.88rem}.purchase-quantity{white-space:nowrap;font-weight:820}.glass-note{background:#edf4f0;border:1px solid #bed2c8}.empty-list{color:var(--muted);text-align:center;border:1px dashed #b9c5c0;border-radius:12px;margin-top:24px;padding:24px}@media (width<=900px){.questionnaire-layout{grid-template-columns:1fr}.stage-panel{position:static}.stage-panel ol{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid-multiple{grid-template-columns:1fr}}@media (width<=680px){.app-header,.output-header{flex-direction:column;align-items:stretch}.quote-reference{display:none}.quote-nav{justify-content:flex-start;overflow-x:auto}.quote-nav button{min-width:96px}.workspace-main{padding-top:18px}.choice-grid,.stage-panel ol{grid-template-columns:1fr}.stage-header{flex-direction:column}.quote-total{text-align:left;min-width:0}.line-item,.purchase-item{grid-template-columns:1fr;gap:8px}.line-item-total,.purchase-quantity{justify-self:start}.page-actions,.questionnaire-actions{flex-direction:column-reverse;align-items:stretch}.page-actions button,.questionnaire-actions button{width:100%}}@media (width<=560px){.input-row{grid-template-columns:1fr}.input-row button{width:100%}}.verification-card{max-width:720px}.verification-card h1{margin-top:10px}.verification-card>p{color:var(--muted)}.verification-form{gap:12px;margin-top:24px;display:grid}.verification-form label{font-weight:760}.verification-form input,.details-form input,.details-form textarea{background:#fff;border:1px solid #aebbb6;border-radius:9px;width:100%;padding:12px 13px}.verification-form input{font-size:1.05rem}.verification-form button{margin-top:4px}.verification-sent{background:#edf4f0;border-radius:10px;padding:13px 15px}.text-action{color:var(--brand);background:0 0;padding:8px}.text-action:hover:not(:disabled){background:#edf4f0}.review-header{align-items:center}.review-summary{background:#edf4f0;border-radius:12px;min-width:210px;padding:16px}.review-summary span,.review-summary strong{display:block}.review-summary span{color:var(--muted);font-size:.8rem}.review-summary strong{margin-top:5px;font-size:1.35rem}.details-form{margin-top:28px}.form-section{border-bottom:1px solid #e1e6e3;padding:26px 0}.form-section:first-child{padding-top:0}.form-section h2{margin-bottom:16px}.form-intro{color:var(--muted);margin-top:-6px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{display:block}.form-field>span{margin-bottom:7px;font-weight:740;display:block}.form-field em{color:var(--muted);font-size:.82rem;font-weight:500}.form-field-wide{grid-column:1/-1}.form-field-small{min-width:0}.details-form input[readonly]{color:#56645f;background:#f2f4f3}.details-form textarea{resize:vertical;min-height:110px}.boxed-checkbox{background:#fbfcfb;border:1px solid #cbd5d1;border-radius:10px;margin-top:12px;padding:14px}.additional-notes{margin-top:16px}.submission-confirmation{text-align:center;max-width:720px}.confirmation-mark{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:2rem;font-weight:900;display:grid}.submission-confirmation h1{margin-top:10px}.submission-confirmation p{color:var(--muted)}.submission-reference{overflow-wrap:anywhere}@media (width<=680px){.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.review-summary{min-width:0}}.text-action{color:var(--brand);text-underline-offset:3px;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline}.text-action:hover:not(:disabled){color:var(--brand-dark);background:0 0}.return-quotes-action{margin:-14px 0 28px}.account-page-shell{place-items:start center}.account-card{width:min(920px,100%)}.account-heading-row,.account-session-row,.saved-quote-card-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-login-panel{max-width:620px;margin-top:28px}.account-session-row{border-bottom:1px solid var(--line);align-items:center;margin:26px 0 20px;padding-bottom:18px}.account-session-row p{margin:0}.stacked-form{gap:10px;margin-top:22px;display:grid}.stacked-form label{font-weight:750}.stacked-form input{border:1px solid #aebbb6;border-radius:10px;width:100%;padding:13px 14px}.verification-destination{color:var(--muted);margin:0 0 5px}.saved-quote-list{gap:16px;display:grid}.saved-quote-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.saved-quote-card h2{margin-top:9px;font-size:1.2rem}.saved-quote-total{color:var(--brand-dark);flex:none;font-size:1.45rem;font-weight:850}.saved-quote-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0;display:grid}.saved-quote-meta div{background:#f5f7f6;border-radius:10px;padding:12px}.saved-quote-meta dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.saved-quote-meta dd{margin:5px 0 0;font-weight:700}.empty-state{text-align:center;border:1px dashed #aebbb6;border-radius:14px;padding:38px 20px}.empty-state p{color:var(--muted)}@media (width<=680px){.account-heading-row,.account-session-row,.saved-quote-card-header{flex-direction:column;align-items:stretch}.saved-quote-meta{grid-template-columns:1fr}.saved-quote-total{font-size:1.25rem}}.turnstile-field{gap:.45rem;margin-block:.75rem;display:grid}.turnstile-widget{width:100%;min-height:65px}
