:root{--navy:#102d43;--ink:#18374b;--muted:#687d88;--teal:#007f85;--mint:#e7f5f1;--line:#dce6e8;--paper:#fff;--bg:#f3f6f5;--shadow:0 6px 24px #102d4306;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #48b9ba;outline-offset:3px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){transform:translateY(-1px)}.topbar{height:88px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1376px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}.brand-icon{display:grid;place-items:center;background:var(--navy);color:#9ee4db;width:42px;height:46px;border-radius:12px 12px 12px 2px;font-size:30px}.brand strong{font-size:24px;letter-spacing:-1px;display:block}.brand strong span{color:var(--teal)}.brand small{font-size:10px;font-weight:750;letter-spacing:4px;display:block;margin-top:1px}.header-right{display:flex;gap:22px;align-items:center}.private-badge{font-size:12px;color:var(--muted)}.private-badge span{font-size:10px;color:var(--teal);margin-right:7px}.btn{border:1px solid transparent;border-radius:9px;padding:12px 17px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px}.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.primary{background:var(--teal);color:#fff}.primary:hover:not(:disabled){background:#006c71}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}main{max-width:1376px;margin:auto;padding:43px 28px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:1.8px;font-weight:800}h1{font-size:clamp(30px,3.1vw,43px);line-height:1.18;letter-spacing:-1.7px;margin:12px 0 10px;font-weight:750}p{color:var(--muted);font-size:13px;line-height:1.6;margin:5px 0}.intro p{font-size:15px}.veteran{display:flex;align-items:center;gap:12px;border:1px solid #cbdedd;padding:14px 17px;border-radius:10px;color:var(--navy);font-size:9px;line-height:1.7;letter-spacing:1.4px;background:#edf3f0}.veteran>span{font-size:27px;color:var(--teal)}.work-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);gap:26px;align-items:start}.builder{display:grid;gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.section-heading{display:flex;gap:12px;align-items:center;margin-bottom:22px}.step{font-size:11px;font-weight:800;color:var(--teal);background:var(--mint);border-radius:8px;display:grid;place-items:center;min-width:34px;height:34px}.section-heading h2,h2{font-size:16px;letter-spacing:-.3px;margin:0;font-weight:750}.section-heading p{font-size:12px;margin:3px 0 0}.section-heading>.text-btn,.section-heading>.count{margin-left:auto;flex-shrink:0}.text-btn{border:0;background:transparent;color:var(--teal);font-weight:650;font-size:12px;padding:6px 0}.fields{display:grid;gap:14px;margin-top:15px}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields:first-child{margin-top:0}label{font-size:11px;font-weight:700;color:#4d6877;display:block;line-height:1.5}.unit{float:right;color:#91a1a8;font-weight:500}.block{display:block}input,select,textarea{width:100%;margin-top:6px;background:#fcfdfd;color:var(--ink);border:1px solid #d5e0e3;border-radius:8px;padding:11px 12px;font-size:13px;min-height:41px;line-height:1.4}input::placeholder,textarea::placeholder{color:#96a6ae}textarea{resize:vertical}input:disabled{background:#edf2f2;color:#7c909b}input[readonly]{background:#eef5f2}input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0;accent-color:var(--teal)}.check{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;cursor:pointer}.checkbox-row{display:flex;flex-wrap:wrap;gap:13px 22px;margin-top:13px}.count{color:#6c8290;font-size:9px;font-weight:800;letter-spacing:.7px;padding:6px 8px;background:#f0f4f4;border-radius:5px;white-space:nowrap}.service-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#f9fbfb;margin-bottom:14px}.service-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.service-number{font-size:10px;color:var(--teal);font-weight:800;letter-spacing:.8px}.service-top .icon-btn{background:transparent;color:#8498a1;width:28px;height:28px;font-size:21px}.icon-btn{border:0;display:grid;place-items:center;min-width:32px;height:32px;border-radius:6px;font-size:23px;background:#eef4f3;color:var(--ink)}.service-heading{display:flex;align-items:center;gap:9px}.service-amount{font-size:15px;font-weight:750;letter-spacing:-.3px;margin-left:auto;white-space:nowrap}.service-card select{background:#fff}.service-select{font-weight:650;font-size:14px}.rate-note{font-size:10px;color:var(--muted);margin:8px 0 0;line-height:1.5}.service-options{margin-top:15px}.service-options summary{font-size:11px;font-weight:650;color:var(--teal);cursor:pointer;padding:5px 0}.service-options[open] summary{margin-bottom:9px}.service-card .fields{margin-top:13px}.add{width:100%;color:var(--teal);border:1px dashed #8bbdb9;background:#f4faf8}.add:hover{background:#e9f5f1}.add span{font-size:21px;line-height:1}.small-note{font-size:10px;line-height:1.7;margin-top:12px;color:#7b8e98}.spaced{margin-top:18px}.divider{height:1px;background:var(--line);margin:22px 0}.chip-btn{border:1px solid #c9dddc;background:#f5faf8;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:650;color:var(--teal);margin-top:10px;min-height:30px}.estimate-column{display:grid;gap:20px;position:sticky;top:24px}.estimate{padding:0;overflow:hidden}.estimate-top{padding:25px 26px 20px;display:flex;align-items:start;justify-content:space-between;gap:12px}.estimate-top h2{font-size:18px;margin-top:8px}.live-dot{font-size:8px;letter-spacing:1px;font-weight:800;color:var(--teal);border:1px solid #c6ddda;padding:5px 7px;border-radius:4px}.total-block{background:var(--navy);color:white;padding:27px 26px 25px;display:flex;flex-direction:column;gap:8px;background-image:radial-gradient(ellipse at 100% 0,#0a595f80,transparent 65%)}.total-block>span:first-child{font-size:11px;letter-spacing:.4px;color:#c7d9df}.total-block strong{font-size:46px;letter-spacing:-1.8px;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.total-block>span:last-child{font-size:11px;color:#c1d4da}.itemized-lines{padding:21px 26px 0}.estimate-line{display:flex;gap:14px;justify-content:space-between;margin-bottom:16px;font-size:12px;align-items:start}.estimate-line .name{font-weight:650}.estimate-line .amount{font-weight:700;white-space:nowrap}.estimate-line .sub{font-size:10px;color:#7a8f99;margin-top:3px;line-height:1.5}.totals-list{padding:17px 26px 8px;border-top:1px solid var(--line);margin-top:5px}.total-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:11px}.total-row.discount{color:var(--teal)}.total-row.final{font-size:14px;font-weight:800;border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.recurring-box{margin:0 26px 18px;padding:15px;border-radius:10px;background:#edf7f3}.recurring-box .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:10px}.recurring-row{display:flex;gap:15px;justify-content:space-between;font-size:11px;margin-top:8px}.recurring-row b{font-size:12px;white-space:nowrap}.recurring-box p{font-size:9px;margin-top:10px;color:#628278}.estimate-actions{padding:0 26px;display:grid;gap:9px}.estimate-actions>.btn{width:100%}.save-status{padding:15px 26px 19px;color:#8aa099;font-size:10px;text-align:center}.summary-panel{padding:23px 25px}.summary-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.summary-panel p{font-size:11px;margin:8px 0 14px}.summary-panel textarea{font-size:11px;line-height:1.7;background:#f9fbfa;min-height:190px}.summary-panel .text-btn{margin-top:8px}.preset-panel{padding:2px 8px 4px}.preset-panel p{font-size:11px;margin:6px 0 0}.preset-buttons{display:flex;flex-wrap:wrap;gap:7px}.preset-buttons .chip-btn{margin-top:9px;background:#fff}#errors{padding:0 26px}#errors ul{font-size:11px;line-height:1.7;padding:13px 12px 13px 28px;color:#8b5b2c;background:#fff7e9;border-radius:8px;margin:16px 0}#errors li+li{margin-top:5px}footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#7c9099;padding:32px 0 28px;margin-top:17px;border-top:1px solid var(--line)}footer b{margin:0 8px;color:#a5b7bb}dialog{border:1px solid var(--line);border-radius:17px;color:var(--ink);padding:28px;width:min(580px,calc(100vw - 32px));box-shadow:0 25px 90px #102d4330}dialog::backdrop{background:#102d4365;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.dialog-heading h2{font-size:23px;margin-top:6px}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;align-items:center}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:13px 20px;border-radius:10px;font-size:12px;box-shadow:0 7px 30px #102d4340;z-index:50;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}#print-area{display:none}.service-empty{display:none}@media(min-width:1500px){main{padding-top:50px}}@media(max-width:1100px){.work-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:18px}.panel{padding:22px}.fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.three>label:last-child{grid-column:1/-1}.service-card .fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card .fields.three>label:last-child{grid-column:auto}.estimate-column{position:static}.section-heading p{max-width:260px}.total-block strong{font-size:40px}}@media(max-width:800px){.work-grid{grid-template-columns:1fr}.intro{margin-bottom:27px}.veteran{display:none}main{padding:28px 18px 0}.topbar{padding:0 18px;height:76px}.private-badge{display:none}.brand strong{font-size:21px}.brand-icon{width:37px;height:41px;font-size:25px}.header-right .btn{font-size:11px;padding:9px 11px}.intro h1{font-size:34px}.intro p{font-size:13px}.estimate-column{position:static}.estimate-top h2{font-size:21px}.total-block strong{font-size:48px}.preset-panel{order:-1}.panel{padding:22px}.estimate{padding:0}.summary-panel{padding:23px}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.three>label:last-child{grid-column:auto}footer{flex-direction:column;gap:8px}.service-card{padding:15px}}@media(max-width:480px){.fields.three,.fields.two{grid-template-columns:1fr 1fr}.fields.three>label:last-child{grid-column:1/-1}.details-panel .fields.three{grid-template-columns:1fr}.details-panel .fields.three>label:last-child{grid-column:auto}.service-card .fields.three{grid-template-columns:1fr 1fr}.service-card .fields.three>label:last-child{grid-column:1/-1}.panel{padding:19px}.estimate{padding:0}.intro h1{font-size:30px;letter-spacing:-1px}.section-heading p{font-size:11px}.section-heading h2{font-size:15px}.section-heading{gap:10px}.count{font-size:8px}.step{min-width:29px;height:31px}.service-amount{font-size:14px}.dialog-actions{flex-wrap:wrap}dialog{padding:22px}.brand{gap:8px}.brand small{letter-spacing:3px;font-size:9px}.header-right{gap:0}.topbar{padding:0 15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white;color:#152e3b}.topbar,main,dialog,.toast{display:none!important}#print-area{display:block!important;margin:0;padding:0}#print-area h1{font-size:25px;margin:0 0 8px}#print-area .print-meta{font-size:11px;color:#537781;margin-bottom:20px}#print-area pre{font-family:inherit;font-size:11px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}@page{margin:18mm}}
