:root{--hs-ink:#182923;--hs-muted:#61716b;--hs-paper:#f7f5ef;--hs-white:#fff;--hs-line:#d6ddd7;--hs-green:#276c57;--hs-green-dark:#174a3a;--hs-blue:#2f6680;--hs-orange:#a94d2e;--hs-red:#9d372b;--hs-soft:#edf3ef;--hs-shadow:0 18px 48px rgba(24,41,35,.08)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--hs-paper);color:var(--hs-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}.shell{width:min(1200px,calc(100% - 40px));margin-inline:auto}.site-header .nav{display:flex;justify-content:space-between}.site-header .nav-links{display:flex}.site-header a{text-decoration:none}
.tool-main{padding:28px 0 72px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 28px;color:var(--hs-muted);font-size:13px}.breadcrumbs a{color:var(--hs-green);font-weight:750;text-decoration:none}.tool-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:24px}.eyebrow{display:block;margin-bottom:8px;color:var(--hs-green);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tool-intro h1{max-width:840px;margin:0 0 10px;font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.045em}.tool-intro p{max-width:760px;margin:0;color:#465750;font-size:18px}.privacy-note{max-width:300px;padding:14px 16px;border-left:4px solid var(--hs-green);background:#edf4ef;color:#385149;font-size:13px}.privacy-note strong{display:block;color:var(--hs-ink)}
.workspace{display:grid;grid-template-columns:minmax(0,5fr) minmax(380px,7fr);gap:20px;align-items:start}.input-panel,.result-card,.content-card{border:1px solid var(--hs-line);border-radius:12px;background:var(--hs-white)}.input-panel{padding:24px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading h2,.result-card h2{margin:0;font-size:22px;letter-spacing:-.02em}.example-button{min-height:40px;padding:8px 12px;border:1px solid #9eb0a7;border-radius:7px;background:#fff;color:var(--hs-green-dark);font-weight:800}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;margin-bottom:6px;font-size:14px;font-weight:800}.field-control{position:relative}.field input,.field select,.field textarea{width:100%;min-height:47px;padding:11px 12px;border:1px solid #b8c4be;border-radius:7px;background:#fff;color:var(--hs-ink);font:inherit}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(47,102,128,.18);border-color:var(--hs-blue)}.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--hs-red)}.prefix,.suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--hs-muted);font-size:13px;font-weight:700;pointer-events:none}.prefix{left:12px}.suffix{right:12px}.has-prefix input{padding-left:26px}.field-control.has-suffix{display:flex;min-width:0;min-height:47px;align-items:stretch;border:1px solid #b8c4be;border-radius:7px;background:#fff}.field-control.has-suffix:focus-within{outline:3px solid rgba(47,102,128,.18);border-color:var(--hs-blue)}.field-control.has-suffix input{width:auto;min-width:0;min-height:45px;flex:1;padding-right:6px;border:0;border-radius:7px 0 0 7px}.field-control.has-suffix input:focus{outline:0}.field-control.has-suffix .suffix{position:static;display:flex;flex:0 0 auto;align-items:center;padding:0 12px 0 4px;transform:none;white-space:nowrap}.help,.field-error{margin:5px 0 0;font-size:12px}.help{color:var(--hs-muted)}.field-error{color:var(--hs-red);font-weight:700}
.repeater{grid-column:1/-1;margin-top:8px;padding-top:18px;border-top:1px solid #e2e7e3}.repeater-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.repeater-head h3{margin:0;font-size:16px}.add-row,.remove-row{min-height:38px;border:1px solid #a9b8b0;border-radius:7px;background:#fff;color:var(--hs-green-dark);font-weight:800}.add-row{padding:7px 11px}.remove-row{width:38px;flex:0 0 38px;padding:0;font-size:18px}.repeat-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px;padding:13px;border-radius:9px;background:#f5f7f4}.repeat-row .field{min-width:0;flex:1 1 150px}.repeat-row .field label{font-size:12px}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e2e7e3}.button{display:inline-flex;min-height:45px;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--hs-ink);border-radius:8px;background:#fff;color:var(--hs-ink);font-weight:850;text-decoration:none}.button.primary{border-color:var(--hs-green);background:var(--hs-green);color:#fff}.button.quiet{border-color:transparent;color:var(--hs-muted)}button:active,.button:active{transform:scale(.98)}
.result-card{position:sticky;top:104px;overflow:hidden;box-shadow:var(--hs-shadow)}.result-top{padding:24px 26px;background:var(--hs-green-dark);color:#fff}.result-top .result-eyebrow{display:block;margin-bottom:3px;color:#b8d3c8;font-size:13px;font-weight:800}.result-primary{font-size:clamp(44px,5vw,68px);font-weight:900;line-height:1.08;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.result-top.loss{background:#712f28}.result-top.warning{background:#795028}.result-formula{margin-top:8px;color:#d2e2da;font-size:13px}.result-body{padding:22px 26px}.result-empty{min-height:270px;display:grid;place-items:center;padding:40px;text-align:center;color:var(--hs-muted)}.result-empty strong{display:block;margin-bottom:5px;color:var(--hs-ink);font-size:21px}.result-errors{margin:0;padding:14px 17px 14px 35px;border:1px solid #e5beb7;border-radius:8px;background:#fff5f2;color:#6f2b23}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px;border:1px solid #dfe5e1;border-radius:8px;background:#fafbf9}.metric span{display:block;color:var(--hs-muted);font-size:12px}.metric strong{display:block;margin-top:3px;font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums}.assumptions{margin-top:18px;padding-top:16px;border-top:1px solid #e1e7e3}.assumptions h3{margin:0 0 8px;font-size:14px}.assumptions ul{margin:0;padding-left:19px;color:var(--hs-muted);font-size:13px}.result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.status{min-height:20px;margin:10px 0 0;color:var(--hs-muted);font-size:12px}
.below{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px;margin-top:24px}.content-card{padding:26px}.content-card h2{margin:0 0 12px;font-size:27px;letter-spacing:-.025em}.content-card h3{margin:20px 0 7px;font-size:17px}.content-card p{color:#4e5f58}.example-callout{padding:16px 18px;border-left:4px solid var(--hs-blue);background:#edf4f7}.faq details{padding:14px 0;border-top:1px solid var(--hs-line)}.faq summary{cursor:pointer;font-weight:850}.faq details p{margin:9px 0 0}.related-link{display:block;margin-top:16px;color:var(--hs-green);font-weight:850}.print-report{display:none}
@media(max-width:900px){.tool-intro{grid-template-columns:1fr}.privacy-note{max-width:none}.workspace{grid-template-columns:minmax(0,1fr)}.result-card{position:static}.below{grid-template-columns:1fr}}
@media(max-width:560px){.shell{width:min(100% - 28px,1200px)}.site-header .nav-links a:not(:last-child){display:none}.tool-main{padding-top:20px}.tool-intro h1{font-size:36px}.tool-intro p{font-size:16px}.input-panel{padding:18px}.field-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.repeat-row{grid-template-columns:1fr 1fr 38px}.repeat-row .field:first-child{grid-column:1/-2}.result-top,.result-body{padding:20px}.result-primary{font-size:44px}.metric-grid{grid-template-columns:1fr 1fr}.content-card{padding:20px}}
@media(max-width:380px){.metric-grid{grid-template-columns:1fr}.repeat-row{grid-template-columns:1fr 38px}.repeat-row .field{grid-column:1/-1}.repeat-row .remove-row{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:#fff}.site-header,.site-footer,.tool-main>.shell>*:not(.print-report){display:none!important}.tool-main{padding:0}.print-report{display:block;color:#111;font-family:Arial,sans-serif}.print-report header{position:static!important;display:flex!important;width:auto!important;max-width:none!important;justify-content:space-between!important;padding:0 0 12px!important;border:0!important;border-bottom:1px solid #999!important;background:#fff!important}.print-report h1{margin:22px 0 8px;font-size:24pt}.print-report .print-primary{margin:15px 0;padding:16px;border:1px solid #777;font-size:28pt;font-weight:800}.print-report table{width:100%;border-collapse:collapse}.print-report th,.print-report td{padding:9px;border:1px solid #999;text-align:left}.print-report footer{margin-top:22px;padding-top:10px;border-top:1px solid #999;font-size:9pt}@page{size:letter portrait;margin:.55in}}
.record-preview{padding:24px 26px}.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--hs-line)}.record-head h2{margin:0;font-size:28px}.record-head p{margin:4px 0 0;color:var(--hs-muted)}.record-badge{max-width:230px;padding:7px 10px;border-radius:6px;background:#e7f1eb;color:var(--hs-green-dark);font-size:12px;font-weight:850;text-align:right}.record-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.record-meta div{padding:10px 12px;border:1px solid #e0e6e2;border-radius:7px}.record-meta span{display:block;color:var(--hs-muted);font-size:11px}.record-meta strong{font-size:14px}.record-section{margin-top:20px}.record-section h3{margin:0 0 8px;font-size:16px}.record-section ul{margin:0;padding-left:20px}.record-section li{margin:5px 0}.check-item{display:flex;gap:9px;align-items:flex-start;margin:7px 0}.check-item input{width:19px;height:19px;margin-top:2px}.print-checkbox{display:inline-flex;width:18px;height:18px;flex:0 0 18px;align-items:center;justify-content:center;margin-top:2px;border:1.5px solid #555;border-radius:2px;font-size:13px;font-weight:800;line-height:1}.record-table-wrap{overflow:auto;margin-top:18px}.record-table{width:100%;border-collapse:collapse;font-size:13px}.record-table th,.record-table td{padding:9px 10px;border:1px solid #cbd5cf;text-align:left;vertical-align:top}.record-table th{background:#edf2ee}.record-warning{margin-top:14px;padding:11px 13px;border-left:4px solid var(--hs-orange);background:#fff5e8;color:#684320}.record-note{margin-top:20px;padding-top:14px;border-top:1px solid var(--hs-line);color:var(--hs-muted);font-size:12px}.message-output{width:100%;min-height:220px;margin-top:18px;padding:16px;border:1px solid #aebcb4;border-radius:8px;background:#fff;font:inherit;line-height:1.55}.print-message{min-height:0;white-space:pre-wrap}.saved-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.saved-actions button{font-size:13px}.checkbox-field{display:flex;min-height:47px;align-items:center;gap:8px;padding:10px 0}.checkbox-field input{width:20px;height:20px}.checkbox-field label{margin:0}.document-status{margin-top:10px;color:var(--hs-muted);font-size:12px}
@media print{.print-record{break-after:page}.print-record:last-child{break-after:auto}.print-record .record-head,.print-record .record-meta{break-inside:avoid}.print-record .record-section h3{break-after:avoid}.print-record .record-section li,.print-record .record-table tr{break-inside:avoid}.print-record .record-table-wrap{overflow:visible}.print-record .record-table thead{display:table-header-group}.print-record .record-table tbody{display:table-row-group}.print-receipt-sheet{break-after:page}.print-receipt-sheet:last-child{break-after:auto}.print-receipt-sheet .print-record{break-after:auto;padding:.03in 0;font-size:8.5pt}.print-receipt-sheet .print-record+.print-record{margin-top:.1in;padding-top:.12in;border-top:1.5pt dashed #777}.print-receipt-copy>header{padding-bottom:5px!important}.print-receipt-copy .record-head{padding-bottom:5px}.print-receipt-copy .record-head h2{font-size:17pt}.print-receipt-copy .record-head p{margin-top:2px}.print-receipt-copy .record-meta{gap:4px;margin:6px 0}.print-receipt-copy .record-meta div{padding:4px 6px}.print-receipt-copy .record-section{margin-top:6px}.print-receipt-copy .record-section h3{margin-bottom:3px;font-size:11pt}.print-receipt-copy .record-section p{margin:3px 0;line-height:1.25}.print-receipt-copy .record-note{margin-top:6px;padding-top:5px;font-size:7.5pt}.print-receipt-copy footer{margin-top:6px;padding-top:5px;font-size:7.5pt}}
.photo-workspace{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.photo-controls,.photo-preview-panel{border:1px solid var(--hs-line);border-radius:12px;background:#fff}.photo-controls{padding:22px}.photo-preview-panel{position:sticky;top:104px;padding:18px;box-shadow:var(--hs-shadow)}.photo-preview-panel canvas{display:block;width:100%;height:auto;max-height:68vh;border-radius:6px;background:#dfe6e2;object-fit:contain}.drop-field{display:block;margin-bottom:14px;padding:16px;border:1px dashed #8ca197;border-radius:8px;background:#f7faf8}.drop-field strong{display:block;margin-bottom:4px}.drop-field input{width:100%;margin-top:9px}.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slider-grid input{width:100%}.photo-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.photo-status{min-height:22px;color:var(--hs-muted);font-size:13px}.photo-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.annotation-list{display:grid;gap:8px;margin:12px 0}.annotation-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px;border-radius:7px;background:#f3f6f4}.annotation-item span{font-size:13px}.annotation-item button{width:34px;height:34px;border:1px solid #aab8b1;border-radius:6px;background:#fff}.photo-note{margin-top:14px;padding:12px;border-left:4px solid var(--hs-green);background:#eef5f0;color:#496057;font-size:12px}
@media(max-width:900px){.photo-workspace{grid-template-columns:1fr}.photo-preview-panel{position:static}}
@media(max-width:560px){.photo-options,.slider-grid{grid-template-columns:1fr}.photo-controls{padding:17px}.photo-preview-panel{padding:10px}}
.design-workspace{display:grid;grid-template-columns:minmax(400px,.82fr) minmax(0,1.18fr);gap:20px;align-items:start}.design-controls,.design-preview{border:1px solid var(--hs-line);border-radius:12px;background:#fff}.design-controls{padding:24px}.design-preview{position:sticky;top:104px;padding:20px;box-shadow:var(--hs-shadow)}.design-preview canvas{display:block;width:100%;max-height:72vh;object-fit:contain;background:#dce3df}.design-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--hs-line)}.design-note{margin:14px 0 0;color:var(--hs-muted);font-size:12px}.vendor-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:2px 0 0;padding:15px;border:1px solid var(--hs-line);border-radius:8px}.vendor-fields legend{padding:0 6px;font-size:13px;font-weight:850}.vendor-fields .field{grid-column:auto}.marketing-print-art{display:none;position:relative;overflow:hidden;background:var(--print-paper);color:var(--print-ink);font-family:var(--print-body);print-color-adjust:exact;-webkit-print-color-adjust:exact}.marketing-print-art>*{position:absolute;z-index:2}.marketing-print-art .print-photo{z-index:1;background:linear-gradient(145deg,#bed0c5,#e8d4b4);background-size:cover;background-position:center}.marketing-print-art .sample-scene:after{content:"";position:absolute;inset:35% 16% 8%;background:linear-gradient(145deg,#f8f0df 0 64%,#47715c 64%)}.marketing-print-art .print-business,.marketing-print-art .print-headline,.marketing-print-art .print-phone{font-family:var(--print-headline);font-weight:800}.door-art .print-photo{inset:0 0 57%}.door-art .print-business{left:9%;top:66%;font-size:.22in}.door-art .print-headline{left:9%;right:9%;top:44%;font-size:.38in;line-height:1.08}.door-art .print-services{left:9%;top:72%;font-size:.18in;line-height:1.55}.door-art .print-phone{left:9%;bottom:4%;font-size:.25in}.door-art .print-area{left:9%;right:9%;bottom:1.6%;font-size:.105in}.door-art .print-offer{left:9%;right:9%;bottom:9%;padding:.08in;background:var(--print-accent);color:#fff;text-align:center;font-size:.12in;font-weight:700}.door-art .print-qr{right:7%;bottom:3.2%;width:.78in;height:.78in}.door-art .print-hole{z-index:5;left:50%;top:.62in;width:1.25in;height:1.25in;transform:translateX(-50%);border:1.5pt dashed #666;border-radius:50%;background:var(--print-paper)}.door-art.design-phone-first .print-photo,.door-art.design-service-grid .print-photo{display:none}.door-art.design-phone-first:before{content:"";position:absolute;inset:0 0 52%;background:var(--print-ink)}.door-art.design-phone-first .print-business{top:23%;left:8%;right:8%;color:var(--print-paper);font-size:.38in;text-align:center}.door-art.design-phone-first .print-headline{top:64%;font-size:.29in;text-align:center}.door-art.design-phone-first .print-phone{left:5%;right:5%;bottom:26%;font-size:.46in;text-align:center}.door-art.design-neighborhood-craft .print-photo{inset:18% 9% 52%}.door-art.design-neighborhood-craft .print-business{left:0;right:0;top:53%;padding:.16in;background:var(--print-accent);color:#fff;text-align:center}.door-art.design-neighborhood-craft .print-headline{top:63%;text-align:center}.door-art.design-before-after .print-photo{inset:0 50% 55% 0}.door-art.design-before-after:before{content:"";position:absolute;inset:0 0 55% 50%;background:linear-gradient(145deg,#acc5b4,#ead5ad)}.door-art.design-before-after .print-headline{top:50%;text-align:center}.door-art.design-seasonal .print-photo{display:none}.door-art.design-seasonal:before{content:"";position:absolute;width:3in;height:3in;right:-1.15in;top:1.7in;border-radius:50%;background:var(--print-accent)}.door-art.design-seasonal .print-headline{top:30%;right:20%;font-size:.42in}.door-art.design-service-grid{border:.08in solid var(--print-ink)}.door-art.design-service-grid .print-business{top:22%;font-size:.35in}.door-art.design-service-grid .print-headline{top:33%;font-size:.25in}.door-art.design-service-grid .print-services{top:49%;left:10%;right:10%;font-size:.2in}.door-art.design-service-grid .print-services div{margin:.1in 0;padding:.09in;background:var(--print-accent);color:#fff}.yard-art .print-photo{display:none}.yard-art .print-business{left:7%;right:7%;top:10%;font-size:1.25in}.yard-art .print-headline{left:7%;right:7%;top:27%;font-size:2.35in;line-height:.95}.yard-art .print-phone{left:7%;right:7%;bottom:19%;font-size:1.55in}.yard-art .print-area{left:7%;right:7%;bottom:6%;font-size:.55in}.yard-art .print-services,.yard-art .print-offer{display:none}.yard-art .print-qr{right:5%;bottom:4%;width:3in;height:3in}.yard-art.design-phone-first:before{content:"";position:absolute;inset:0 0 72%;background:var(--print-ink)}.yard-art.design-phone-first .print-business{top:8%;color:var(--print-paper);text-align:center}.yard-art.design-phone-first .print-headline{top:57%;font-size:1.1in;text-align:center}.yard-art.design-phone-first .print-phone{top:36%;bottom:auto;font-size:2in;text-align:center}.yard-art.design-neighborhood-craft:before{content:"";position:absolute;inset:0 0 40%;background:var(--print-ink)}.yard-art.design-neighborhood-craft:after{content:"";position:absolute;inset:60% 0 0;background:var(--print-accent)}.yard-art.design-neighborhood-craft .print-headline{top:18%;color:#fff;text-align:center}.yard-art.design-neighborhood-craft .print-phone{bottom:15%;color:#fff;text-align:center}.yard-art.design-before-after .print-photo{display:block;inset:0 58% 0 0}.yard-art.design-before-after:before{content:"";position:absolute;inset:0 0 0 42%;background:var(--print-ink)}.yard-art.design-before-after .print-business,.yard-art.design-before-after .print-headline,.yard-art.design-before-after .print-phone{left:48%;color:#fff}.yard-art.design-before-after .print-headline{font-size:1.65in}.yard-art.design-seasonal{border:.25in solid var(--print-accent)}.yard-art.design-seasonal .print-business,.yard-art.design-seasonal .print-headline,.yard-art.design-seasonal .print-phone,.yard-art.design-seasonal .print-area{text-align:center}.yard-art.design-service-grid{background:var(--print-ink);color:var(--print-paper)}.yard-art.design-service-grid .print-headline{text-align:center}.yard-art.design-service-grid .print-phone{bottom:17%;padding:.35in;background:var(--print-accent);color:#fff;text-align:center}
@media(max-width:940px){.design-workspace{grid-template-columns:1fr}.design-preview{position:static}.vendor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.door-art .print-hole{top:var(--print-hole-top,.625in);width:var(--print-hole-size,1.25in);height:var(--print-hole-size,1.25in)}
@media(max-width:560px){.design-controls,.design-preview{padding:16px}.vendor-fields{grid-template-columns:1fr}.design-actions .button{width:100%}}
@media print{body.is-marketing-print{background:#fff}.is-marketing-print .site-header,.is-marketing-print .site-footer,.is-marketing-print main{display:none!important}.is-marketing-print .marketing-print-art{display:block!important;margin:0!important;break-after:avoid}.is-marketing-print{margin:0!important;padding:0!important}}
