:root{font-family:Arial,Helvetica,sans-serif;color:#132844;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2b78c5;outline-offset:2px}h1,h2,h3,p{margin-top:0}.loading,.load-error{max-width:800px;margin:10vh auto;padding:2rem}.load-error{color:#8c2c2c}.site-header{background:#0b2a4d;color:#fff}.brand-line{background:#fff;color:#0a2850;display:flex;align-items:center;gap:.65rem;padding:.7rem max(3.5vw,calc((100vw - 1400px)/2));font-size:1.14rem;font-weight:800;letter-spacing:-.02em}.brand-line span span{color:#138339}.brand-bars{height:22px;width:24px;display:flex;align-items:end;gap:3px}.brand-bars i{display:block;width:6px;background:#0b2a4d;border-radius:1px}.brand-bars i:nth-child(1){height:11px;background:#168c40}.brand-bars i:nth-child(2){height:17px}.brand-bars i:nth-child(3){height:22px;background:#168c40}.header-inner{max-width:1400px;margin:auto;padding:1.45rem 3.5vw 1.7rem}.header-kicker{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.72rem;color:#b9d3e8;margin-bottom:.35rem}.header-inner h1{font-size:clamp(1.75rem,3vw,2.35rem);margin-bottom:.4rem;letter-spacing:-.025em}.header-inner>p:last-child{margin:0;color:#dce8f4;font-size:.99rem}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-bottom:1px solid #dce4ee;padding:0 max(3.5vw,calc((100vw - 1400px)/2));overflow-x:auto}.tabs button{border:0;border-bottom:3px solid transparent;background:#fff;padding:1rem .5rem;color:#24456b;font-weight:700;white-space:nowrap;min-width:130px}.tabs button:hover{background:#f7fafc}.tabs button.active{color:#087d38;border-bottom-color:#14883e}.toolbar{max-width:1400px;margin:auto;padding:.85rem 3.5vw;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;color:#52677c}.toolbar>div{display:flex;gap:.4rem}.toolbar button{background:none;border:0;color:#174f7d;padding:.35rem .5rem;font-weight:700}.toolbar button:hover{text-decoration:underline}.workspace{max-width:1400px;margin:0 auto;padding:.25rem 3.5vw 3rem;display:grid;grid-template-columns:minmax(0,7fr) minmax(290px,3fr);gap:1.25rem;align-items:start}.main-pane{grid-column:1;grid-row:1;background:#fff;border:1px solid #e0e7ee;border-radius:7px;padding:1.8rem 2rem;min-width:0;box-shadow:0 4px 18px rgba(23,55,87,.035)}.results-rail{grid-column:2;grid-row:1;background:#fff;border:1px solid #dfe7ef;border-radius:7px;position:sticky;top:1rem;box-shadow:0 4px 18px rgba(23,55,87,.045)}.rail-content{padding:1.45rem}.rail-eyebrow,.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:#137c3b;font-size:.7rem;font-weight:800;margin-bottom:.5rem}.rail-content h2{font-size:1.07rem;margin-bottom:.7rem}.rail-primary{font-size:clamp(2rem,3.3vw,3rem);line-height:1.1;font-weight:800;letter-spacing:-.035em;color:#0b6f33;word-break:break-word}.rail-muted{color:#607183;font-size:.85rem;line-height:1.45;margin:.65rem 0 1.2rem}.rail-stats{margin:0}.rail-stats>div{border-top:1px solid #e5ebf0;padding:.75rem 0;display:flex;justify-content:space-between;gap:.7rem;align-items:baseline}.rail-stats dt{font-size:.82rem;color:#415a72}.rail-stats dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.rail-button,.primary{background:#0b2a4d;border:1px solid #0b2a4d;color:#fff;border-radius:4px;font-weight:700;padding:.85rem 1.1rem}.rail-button{width:100%;margin-top:1rem}.rail-button:hover,.primary:hover{background:#17416c}.rail-count{color:#a5482c}.section-intro{padding-bottom:1.4rem;border-bottom:1px solid #e3e9ef}.section-intro h1{font-size:1.55rem;letter-spacing:-.02em;margin-bottom:.4rem}.section-intro>p:last-child{color:#596d7f;line-height:1.5;margin:0}.section{padding:1.65rem 0;border-bottom:1px solid #e8edf2}.section:last-of-type{border-bottom:0}.section-heading h2{font-size:1.1rem;margin-bottom:.25rem}.section-heading p{color:#6b7c8d;font-size:.84rem;margin-bottom:1rem}.field-grid{display:grid;gap:1rem 1.2rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:block;min-width:0}.field-label{display:block;font-weight:700;font-size:.83rem;margin-bottom:.37rem;color:#263d57}.field small{display:block;color:#607386;line-height:1.35;margin-top:.34rem;font-size:.74rem}.input-wrap{display:flex;align-items:stretch;width:100%;min-height:41px;border:1px solid #c5d2df;border-radius:4px;overflow:hidden;background:#fff}.input-wrap:focus-within{border-color:#2b78c5;box-shadow:0 0 0 2px rgba(43,120,197,.12)}.input-wrap input,.input-wrap select{min-width:0;width:100%;border:0;background:transparent;color:#132844;padding:.55rem .7rem;outline:0}.input-wrap input[aria-invalid=true],.input-wrap select[aria-invalid=true]{background:#fff5f4}.input-wrap:has([aria-invalid=true]){border-color:#c6493c}.affix{display:flex;align-items:center;padding:0 .65rem;background:#f7f9fb;border-right:1px solid #e0e7ee;color:#4f6680}.input-wrap input+.affix{border-right:0;border-left:1px solid #e0e7ee}.note{font-size:.82rem;line-height:1.5;color:#667789;margin:.8rem 0 0}.quiet-detail{border-top:1px solid #e7edf2;margin-top:1rem}.quiet-detail summary{list-style:none;padding:.85rem 0;font-weight:700;color:#1b4d78;cursor:pointer;font-size:.86rem;display:flex;justify-content:space-between}.quiet-detail summary::-webkit-details-marker{display:none}.quiet-detail summary:after{content:'⌄';font-size:1.1rem;line-height:.7;color:#4d6b85}.quiet-detail[open] summary:after{transform:rotate(180deg)}.detail-body,.subsection{padding:.45rem 0 1rem}.child-picker{display:flex;gap:.5rem;flex-wrap:wrap;padding:1.2rem 0 .2rem}.child-pill{padding:.55rem .9rem;background:#fff;border:1px solid #c9d6e2;border-radius:4px;color:#21425f;font-weight:700}.child-pill.active{background:#eaf4ee;border-color:#14883e;color:#0b7535}.child-pill.add{border-style:dashed}.year-override{padding:.8rem 0;border-top:1px solid #e8edf2}.year-override h3{font-size:.86rem;margin-bottom:.8rem}.action-row{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem}.secondary{border:1px solid #b9c9d9;color:#24496c;background:#fff;padding:.8rem 1rem;border-radius:4px;font-weight:700}.secondary:hover{background:#f3f7fa}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.summary-strip>div{border-left:2px solid #d7e8de;padding-left:.8rem}.summary-strip span{display:block;font-size:.79rem;color:#607386;margin-bottom:.34rem}.summary-strip strong{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}.error-box{background:#fff5f4;color:#71342e;border-left:4px solid #c6493c;padding:.8rem 1rem;margin-bottom:1rem;font-size:.84rem}.error-box strong{display:block;margin-bottom:.4rem}.error-box ul{margin:.3rem 0;padding-left:1.1rem}.error-box li{margin:.3rem 0}.error-box li span{font-family:monospace;color:#8c6562;font-size:.74rem}.results-mode{display:block;max-width:1120px}.results-mode .results-rail{display:none}.results-mode .main-pane{width:100%}.answer{background:#eff8f1;border-left:4px solid #18863f;padding:1.35rem 1.6rem;margin-top:1.5rem}.answer p{font-weight:700;margin:0 0 .35rem}.answer strong{display:block;color:#0b6f33;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.15;letter-spacing:-.035em}.answer span{display:block;color:#526a5b;margin-top:.55rem;font-size:.85rem;line-height:1.4}.results-mode .summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.result-table-wrap{overflow-x:auto}.result-table-wrap table{width:100%;border-collapse:collapse;font-size:.81rem;min-width:630px}.result-table-wrap th,.result-table-wrap td{text-align:right;padding:.7rem .6rem;border-bottom:1px solid #e8edf2;white-space:nowrap;font-variant-numeric:tabular-nums}.result-table-wrap th:first-child{text-align:left}.result-table-wrap thead{color:#526a82;background:#f8fafb}.result-table-wrap tbody th{font-weight:700}.result-table-wrap .emphasis{font-weight:800;color:#a04730}.annual-bars{margin-top:1rem}.annual-row{display:grid;grid-template-columns:100px 1fr 95px;align-items:center;gap:.75rem;padding:.45rem 0;font-size:.84rem}.annual-row>span small{display:block;color:#0b7535;font-size:.68rem;font-weight:700}.annual-row strong{text-align:right;font-variant-numeric:tabular-nums}.bar-track{height:13px;background:#e9eff4;border-radius:2px;overflow:hidden}.bar-track>span{display:block;height:100%;background:#1d557f}.annual-row:has(small) .bar-track>span{background:#1b8b43}.result-notices{padding:1.4rem 0;border-bottom:1px solid #e8edf2}.result-notices h2{font-size:1.1rem}.result-notices ul{padding-left:1.25rem;color:#4e6275;font-size:.84rem;line-height:1.5}.result-notices li{margin:.35rem 0}.results-mode .section>p{color:#4e6275;line-height:1.55;font-size:.87rem}.site-footer{padding:1.2rem;text-align:center;color:#718397;font-size:.78rem}
@media(max-width:1050px){.field-grid.three,.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:minmax(0,1fr) 280px}.results-mode .summary-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.header-inner{padding:1.2rem 4vw 1.4rem}.brand-line{padding:.65rem 4vw}.tabs{padding:0 4vw;display:flex}.tabs button{flex:0 0 auto;padding:.8rem .9rem;min-width:0}.toolbar{padding:.7rem 4vw;align-items:flex-start;flex-direction:column;gap:.25rem}.toolbar>div{margin-left:-.5rem}.workspace{display:flex;flex-direction:column;padding:.2rem 4vw 2rem;gap:.85rem}.results-rail{order:0;position:static;width:100%}.main-pane{order:1;width:100%;padding:1.2rem}.rail-content{padding:1rem 1.15rem}.rail-content h2{margin-bottom:.25rem}.rail-primary{font-size:1.8rem}.rail-muted{margin:.3rem 0 .5rem}.rail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .9rem}.rail-stats>div{display:block;padding:.45rem 0}.rail-stats dd{text-align:left;margin-top:.2rem}.rail-button{margin-top:.5rem;padding:.7rem}.results-mode .main-pane{padding:1.2rem}.results-mode .summary-strip{grid-template-columns:repeat(2,1fr)}.section{padding:1.35rem 0}.section-intro h1{font-size:1.4rem}.field-grid.three,.field-grid.four,.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.field-grid.three,.field-grid.four,.field-grid.two{grid-template-columns:1fr}.summary-strip,.results-mode .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-row{grid-template-columns:70px 1fr 85px;gap:.45rem;font-size:.75rem}.action-row{flex-wrap:wrap}.action-row button{flex:1}.brand-line{font-size:1rem}}
@media print{body{background:#fff;color:#111}.site-header,.tabs,.toolbar,.results-rail,.site-footer,.print-action{display:none!important}.workspace,.results-mode{display:block;padding:0;margin:0;max-width:none}.main-pane,.results-mode .main-pane{border:0;box-shadow:none;padding:0}.section{break-inside:avoid}.answer{print-color-adjust:exact}.bar-track,.bar-track>span{print-color-adjust:exact}.quiet-detail:not([open])>.detail-body{display:block}.result-table-wrap{overflow:visible}.result-table-wrap table{min-width:0;font-size:.7rem}}

.toolbar-actions{display:flex;align-items:center;gap:.7rem}.toolbar .save-button{background:#0b2a4d;color:#fff;border:1px solid #0b2a4d;border-radius:4px;padding:.55rem .75rem;font-size:.82rem}.toolbar .save-button:hover{background:#18446e;text-decoration:none}.toolbar-menu{position:relative}.toolbar-menu summary{list-style:none;cursor:pointer;color:#174f7d;font-weight:700;padding:.55rem .65rem;border:1px solid #c7d4e1;border-radius:4px;background:#fff}.toolbar-menu summary::-webkit-details-marker{display:none}.toolbar-menu summary:after{content:'⌄';margin-left:.4rem}.toolbar-menu[open] summary:after{content:'⌃'}.toolbar-menu-items{position:absolute;right:0;top:calc(100% + .3rem);width:220px;background:#fff;border:1px solid #d7e0e8;border-radius:4px;box-shadow:0 12px 25px rgba(9,36,68,.14);z-index:10;padding:.35rem}.toolbar-menu-items button{display:block;width:100%;text-align:left;padding:.65rem .7rem;border:0;border-radius:3px;font-size:.82rem}.toolbar-menu-items button:hover{background:#eef4f8;text-decoration:none}.file-input{display:none}.print-report-head{display:none}.summary-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-strip.five strong{font-size:.98rem}.action-item{border-top:1px solid #e5ebf0;padding:1rem 0}.action-item:first-of-type{border-top:0}.action-item h3{font-size:.98rem;margin-bottom:.45rem}.action-line{margin:.2rem 0 .35rem;line-height:1.45;color:#173b5d}.action-line strong{color:#0b7636}.action-detail{font-size:.82rem;line-height:1.5;color:#5a6e80;margin:0}.child-report summary{font-size:.93rem}.child-report summary span{margin-left:auto;color:#607386;font-weight:400;font-size:.78rem;padding-right:.8rem}.child-report-body{padding:.5rem 0 1.2rem}.child-cost-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.8rem 0;border-bottom:1px solid #e8edf2;font-size:.78rem;color:#52677a}.child-cost-strip strong{display:block;color:#17324f;font-size:.98rem;margin-top:.25rem}.report-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.15rem 0}.report-two h3,.child-report-body>h3,.guide-grid h3{font-size:.9rem;margin:.2rem 0 .8rem}.report-list,.itemized-list{margin:0}.report-row,.itemized-list>div{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid #edf1f4;padding:.39rem 0;font-size:.8rem}.report-row dt,.itemized-list dt{color:#52677a}.report-row dd,.itemized-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.report-row.strong dt,.report-row.strong dd{color:#153955;font-weight:800}.result-table-wrap .report-table{min-width:680px}.report-table .strong-cell{font-weight:800}.overlap-tag{font-size:.66rem;color:#0b7837;font-weight:700;margin-left:.3rem}.cost-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;padding:.6rem 0}.cost-detail-grid .quiet-detail{margin-top:0}.result-notices{background:#f7faf8;border-left:3px solid #a0c7ad;padding:1rem 1.2rem;margin-top:1rem}.result-notices h2{margin-bottom:.6rem}.report-assumptions .report-list{max-width:760px}.planning-guide .guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 2rem}.guide-grid p{font-size:.82rem;line-height:1.55;color:#52677a;margin:.3rem 0 .65rem}.guide-grid a{color:#185984;text-decoration:underline}.service-note{border-top:1px solid #dfe8e2;padding:1rem 0 0;margin-top:.9rem;font-size:.82rem;color:#425f4b}.service-note p{margin:.3rem 0 0;line-height:1.45}.print-report-head p{font-size:.8rem;font-weight:800;margin-bottom:.2rem}.print-report-head h1{font-size:1.6rem;margin-bottom:.25rem}.print-report-head span{font-size:.75rem;color:#52677a}
@media(max-width:1050px){.summary-strip.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.toolbar{flex-direction:row;align-items:center}.toolbar-actions{flex-shrink:0}.summary-strip.five{grid-template-columns:repeat(2,minmax(0,1fr))}.report-two,.cost-detail-grid,.planning-guide .guide-grid{grid-template-columns:1fr}.child-report summary span{display:block;margin-left:.5rem;max-width:45%;text-align:right}.toolbar-menu-items{right:0}}
@media(max-width:520px){.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%;justify-content:space-between}.toolbar .save-button{padding:.5rem .6rem}.child-cost-strip{grid-template-columns:1fr 1fr}.report-two{gap:.8rem}}
@media print{@page{margin:15mm}.print-report-head{display:block;border-bottom:2px solid #153b5f;padding-bottom:.6rem;margin-bottom:1rem}.results-heading{display:none}.summary-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}.section{break-inside:auto}.section-heading,thead,.action-item,.report-row,.child-cost-strip{break-inside:avoid}.child-report{break-inside:auto}.child-report summary:after,.cost-detail-grid summary:after{display:none}.child-report-body{display:block!important}.quiet-detail{border-top:1px solid #cbd7e1}.report-two,.cost-detail-grid,.planning-guide .guide-grid{grid-template-columns:1fr 1fr}.report-table{min-width:0!important;font-size:.66rem!important}.report-table th,.report-table td{white-space:normal!important;padding:.35rem!important}.annual-bars{break-inside:avoid}.guide-grid p{font-size:.75rem}.service-note{break-inside:avoid}}



.paid-preview button:disabled{cursor:not-allowed;opacity:.58}
.paid-preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;background:#092e55;color:white;border-bottom:3px solid #65c529}.paid-preview-banner strong{text-transform:uppercase;color:#a2ed82;letter-spacing:.06em}.paid-preview-banner span{flex:1 1 300px}.paid-preview-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#65c529;color:#082441!important;border-radius:7px;font-weight:800;text-decoration:none}.paid-preview-cta.pending{background:#e6edf1}.paid-preview-bottom{max-width:1100px;margin:32px auto;padding:24px;background:#f4faf2;border:1px solid #c9dfc3;border-radius:10px;text-align:center}.paid-preview-bottom h2{margin:0 0 8px}.paid-preview-bottom p{margin:0 0 16px}.paid-preview input:disabled,.paid-preview select:disabled,.paid-preview textarea:disabled{background:#edf2f5!important;color:#586b7c!important;cursor:not-allowed;opacity:.8}.paid-preview [hidden]{display:none!important}.preview-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:16px 0}.preview-field{display:grid;gap:6px;font-size:.9rem;font-weight:600}.preview-field input{min-width:0;width:100%;padding:10px;border:1px solid #cbd5df;border-radius:6px}.preview-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0}.preview-result{padding:14px;background:#f2f6f8;border:1px solid #d4e0e8;border-radius:8px}.preview-result span,.preview-result strong{display:block}.preview-result strong{margin-top:8px;color:#728394;font-size:.9rem}.preview-empty-value{display:block;min-height:1em}.paid-preview [data-preview-list] .preview-fields{padding:12px;border:1px solid #d4e0e8;border-radius:8px}@media(max-width:650px){.paid-preview-banner{align-items:stretch;flex-direction:column}.paid-preview-banner span{flex:none}.paid-preview-bottom{margin:24px 12px}.paid-preview-cta{width:100%}}
