.financial-tools{background:#fff;border-bottom:1px solid var(--line)}.tool-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:24px}.tool-tab{text-align:left;background:var(--ivory);border:1px solid var(--line);color:var(--ink);padding:21px 17px;display:flex;flex-direction:column;gap:14px;min-height:150px;transition:background .2s,color .2s}.tool-tab:hover{border-color:#829579}.tool-tab[aria-selected="true"]{background:var(--navy);color:var(--ivory);border-color:var(--navy)}.tool-tab-number{font-size:8px;letter-spacing:1.4px;color:#7c8d70}.tool-tab[aria-selected="true"] .tool-tab-number{color:var(--gold)}.tool-tab>span:nth-child(2){font-family:var(--serif);font-size:21px;line-height:1.2;letter-spacing:-.3px}.tool-tab-hint{font-size:9px;line-height:1.6;color:#687a5e;margin-top:auto}.tool-tab[aria-selected="true"] .tool-tab-hint{color:#bdcbb8}.tool-panel{border:1px solid var(--line);padding:38px;min-width:0}.tool-panel-heading{padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid var(--line)}.tool-panel-heading h3{font-family:var(--serif);font-size:34px;line-height:1.2;letter-spacing:-.7px;margin-bottom:12px}.tool-panel-heading p{font-size:13px;line-height:1.8;max-width:740px}.tool-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:start}.tool-inputs,.tool-output{min-width:0}.tool-input-note{font-size:10px;line-height:1.8;padding:12px 15px;background:#edf0e6;margin-bottom:23px;border-left:2px solid #9cab83}.finance-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px}.finance-field{min-width:0}.finance-field label{display:block;font-size:10px;line-height:1.5;margin-bottom:7px;color:#4c614c;min-height:30px}.finance-input-wrap{display:flex;align-items:stretch;min-height:47px;border:1px solid #bfccb8;background:#fff}.finance-input-wrap:focus-within{outline:2px solid #9b7839;outline-offset:2px}.finance-unit{font-size:10px;color:#7a8a6c;background:#f3f5ee;padding:12px 9px;display:flex;align-items:center;flex-shrink:0;border-right:1px solid #dce4d5}.finance-field input{width:100%;min-width:0;padding:12px 10px;background:transparent;border:0;border-radius:0;color:var(--ink);font-size:13px;line-height:1.4;font-family:var(--sans);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}.finance-field input::-webkit-inner-spin-button,.finance-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.finance-field input:focus{outline:0}.finance-field input[aria-invalid="true"]{background:#fff0e9;box-shadow:inset 0 0 0 1px #9b4a2f}.extra-inputs{margin-top:24px;border-top:1px solid var(--line);border-bottom:0}.extra-inputs summary{font-size:11px;font-weight:600;padding:18px 0;list-style:revert;display:list-item;margin-left:14px}.extra-inputs .finance-fields-grid{padding-top:3px}.tool-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}.tool-controls .button{font-size:11px;min-height:47px;padding:13px 19px;gap:26px}.tool-controls .back-button{font-size:10px}.tool-error{color:#9a412a;font-size:11px;line-height:1.8;margin-top:13px;min-height:20px}.tool-output{background:#f0f2e9;border:1px solid #d8e0d0;padding:27px;position:sticky;top:112px}.finance-main-metric{padding-bottom:22px}.metric-label{font-size:10px;color:#5a7056;letter-spacing:.2px;margin-bottom:7px}.metric-value{font-family:var(--serif);font-size:clamp(35px,3.1vw,47px);letter-spacing:-1.2px;color:var(--navy);line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric-sub{font-size:10px;line-height:1.8;margin-top:13px;color:#718168}.finance-result-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0;border-bottom:1px solid #d7e1cf;font-size:10px;line-height:1.7;color:#5c7154}.finance-result-row>strong{font-weight:500;text-align:right;font-size:11px;color:var(--navy);font-variant-numeric:tabular-nums;max-width:60%;overflow-wrap:anywhere}.finance-result-row.strong>strong{font-weight:600}.finance-result-heading{font-size:11px;font-weight:600;margin:24px 0 5px}.finance-chart{margin:0 0 20px}.finance-chart>svg{width:100%;height:auto;min-height:15px}.chart-legend{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#687d5d;margin-top:13px}.chart-legend>div{display:flex;align-items:center;gap:8px}.chart-legend>div>span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}.chart-legend svg{flex-shrink:0}.result-caveat{font-size:10px;line-height:1.85;margin-top:20px;color:#6d7c5f}.budget-alert{font-size:11px;background:#f6e8d8;border-left:2px solid #a7783a;padding:13px 15px;margin:0 0 15px;color:#7b552c}.tool-download{font-size:10px;min-height:43px;padding:11px 15px;margin-top:24px;justify-content:center;width:100%}.tool-download:disabled{opacity:.45;transform:none}.tool-assumptions{margin-top:20px;border-bottom:0;border-top:1px solid #c9d6bf}.tool-assumptions summary{font-size:10px;padding:16px 0}.tool-assumptions summary>span{font-size:18px}.tool-assumptions p{font-size:10px;line-height:1.85;padding:0 0 5px;color:#6b7f5e}.tool-status{font-size:10px;line-height:1.7;min-height:18px;margin-top:15px;color:#637a57}.tools-footnote{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;margin-top:24px}.tools-footnote>p{font-size:9px;line-height:1.9;color:#7a8872}.tool-resources{border:0;align-self:start}.tool-resources summary{font-size:10px;padding:0;min-height:30px;color:#5d7354;gap:15px}.tool-resources summary>span{font-size:17px}.tool-resources p{font-size:9px;line-height:1.9;padding:10px 0 0;color:#718265}.tool-resources a{text-decoration:underline;text-underline-offset:3px}.budget-group{border-bottom:1px solid var(--line)}.budget-group:first-child{border-top:1px solid var(--line)}.budget-group summary{font-size:12px;padding:18px 0;gap:15px}.budget-group summary>span{font-size:12px;color:var(--ink)}.budget-group summary .budget-subtotal{font-size:11px;font-weight:400;color:#6c815f;font-variant-numeric:tabular-nums}.budget-group[open] summary>span{transform:none}.budget-group-body{padding:0 0 23px}.field-hint{font-size:9px;line-height:1.85;margin-bottom:16px;color:#738364}.budget-group .finance-fields-grid{gap:17px 15px}.budget-group .finance-field label{font-size:10px;min-height:30px}.savings-chart{margin:0 0 20px}.savings-chart svg{width:100%;height:auto}.savings-chart figcaption{font-size:9px;line-height:1.8;color:#6b7f5e;margin-top:7px}.amortization-details{border-bottom:0;border-top:1px solid #c9d6bf;margin-top:22px}.amortization-details summary{font-size:10px;list-style:revert;display:list-item;margin-left:12px;padding:15px 0}.finance-table-wrap{width:100%;overflow-x:auto;max-height:380px;overflow-y:auto}.finance-table{border-collapse:collapse;width:100%;min-width:320px;font-size:9px;text-align:right;font-variant-numeric:tabular-nums}.finance-table caption{text-align:left;font-size:9px;color:#6a7d5d;line-height:1.8;margin-bottom:12px}.finance-table th{font-size:9px;font-weight:500;border-bottom:1px solid #9cb38f;padding:8px 6px;color:#4f6945}.finance-table td{border-bottom:1px solid #d2dfc8;padding:7px 6px;color:#647b58}.finance-table th:first-child,.finance-table td:first-child{text-align:left}.result-placeholder{font-size:12px;line-height:1.9;color:#6a7e60;min-height:115px}
@media(max-width:1100px){.tool-panel{padding:30px}.tool-layout{gap:28px}.tool-output{padding:23px}.tool-tab{padding:19px 14px;min-height:149px}.tool-tab>span:nth-child(2){font-size:19px}.tool-tab-hint{font-size:8px}.finance-fields-grid{gap:17px 13px}.finance-field label{font-size:9px}.tools-footnote{gap:30px}.metric-value{font-size:37px}}
@media(max-width:900px){.tool-tabs{gap:8px}.tool-tab{padding:17px 12px;min-height:146px}.tool-tab-number{font-size:7px;letter-spacing:.9px}.tool-tab>span:nth-child(2){font-size:18px}.tool-tab-hint{font-size:8px}.tool-panel{padding:27px}.tool-layout{gap:24px}.tool-output{padding:20px}.finance-unit{padding:12px 7px;font-size:9px}.finance-field input{font-size:12px;padding:12px 8px}.finance-result-row{gap:12px;font-size:9px}.finance-result-row>strong{font-size:10px}.metric-value{font-size:34px}}
@media(max-width:800px){.tool-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tool-tab{min-height:128px;padding:19px}.tool-tab>span:nth-child(2){font-size:23px}.tool-tab-number{font-size:8px;letter-spacing:1.2px}.tool-tab-hint{font-size:9px}.tool-layout{grid-template-columns:1fr;gap:20px}.tool-panel{padding:29px}.tool-panel-heading h3{font-size:31px}.tool-inputs .finance-field label{font-size:11px;min-height:18px}.finance-fields-grid{gap:20px}.finance-field input{font-size:15px;padding:13px 12px}.finance-unit{font-size:10px;padding:13px 12px}.tool-output{position:static;padding:27px}.finance-result-row{font-size:11px;padding:12px 0}.finance-result-row>strong{font-size:12px}.metric-value{font-size:44px}.metric-label{font-size:11px}.metric-sub{font-size:11px}.tool-output .finance-chart{max-width:600px}.chart-legend{font-size:10px}.tool-input-note{font-size:11px}.tool-assumptions p{font-size:11px}.tools-footnote{grid-template-columns:1fr;gap:15px}.tools-footnote>p{font-size:10px}.tool-resources p{font-size:10px}.tool-resources summary{font-size:11px}.budget-group summary>span{font-size:13px}.budget-group summary .budget-subtotal{font-size:12px}.field-hint{font-size:10px}.budget-group .finance-field label{font-size:11px;min-height:33px}.savings-chart{max-width:600px}.finance-table{font-size:11px;min-width:390px}.finance-table td,.finance-table th{font-size:11px;padding:10px}.finance-table caption{font-size:10px}.finance-table-wrap{max-height:340px}.tool-download{font-size:11px}.tool-controls .button{font-size:12px}.tool-controls .back-button{font-size:11px}.tool-assumptions summary,.amortization-details summary{font-size:11px;min-height:44px}}
@media(max-width:640px){.tool-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px}.tool-tab{padding:17px 15px;min-height:133px;gap:13px}.tool-tab:last-child{grid-column:1/-1;min-height:105px;gap:10px}.tool-tab>span:nth-child(2){font-size:22px}.tool-tab-number{font-size:7px;letter-spacing:1.2px}.tool-tab-hint{font-size:8px}.tool-panel{padding:25px 20px 17px}.tool-panel-heading{padding-bottom:21px;margin-bottom:22px}.tool-panel-heading h3{font-size:29px;letter-spacing:-.6px}.tool-panel-heading p{font-size:12px}.tool-input-note{font-size:10px;padding:11px 12px}.finance-fields-grid{gap:19px 12px}.tool-inputs .finance-field label{font-size:10px;min-height:30px}.finance-input-wrap{min-height:47px}.finance-field input{font-size:16px;padding:12px 9px}.finance-unit{font-size:9px;padding:12px 8px}.extra-inputs summary{font-size:11px;padding:18px 0}.tool-controls{gap:18px;margin-top:23px}.tool-controls .button{font-size:11px;padding:13px 18px}.tool-controls .back-button{font-size:10px}.tool-layout{gap:18px}.tool-output{padding:22px 18px}.metric-value{font-size:39px}.metric-label,.metric-sub{font-size:10px}.finance-result-row{font-size:10px;gap:15px}.finance-result-row>strong{font-size:11px}.finance-chart{margin-bottom:20px}.chart-legend{font-size:9px}.finance-result-heading{font-size:11px}.tool-assumptions p{font-size:10px}.tool-assumptions summary{font-size:10px}.result-caveat{font-size:10px}.tool-download{font-size:10px}.budget-group summary>span{font-size:12px}.budget-group summary .budget-subtotal{font-size:11px}.budget-group .finance-fields-grid{gap:18px 12px}.budget-group .finance-field label{font-size:10px;min-height:45px}.field-hint{font-size:10px}.tool-error{font-size:10px}.tool-status{font-size:9px}.tools-footnote>p{font-size:9px}.tool-resources p{font-size:9px}.tool-resources summary{font-size:10px}.budget-alert{font-size:10px}.amortization-details summary{font-size:10px}.finance-table caption{font-size:9px}.savings-chart figcaption{font-size:8px}}
@media(max-width:360px){.tool-panel{padding:22px 16px 16px}.tool-tab{padding:15px 13px}.tool-tab>span:nth-child(2){font-size:20px}.tool-tab-hint{font-size:7px}.tool-inputs .finance-field label{min-height:42px}.finance-unit{padding:12px 6px;font-size:8px}.finance-field input{padding:12px 7px}.tool-output{padding:21px 15px}.metric-value{font-size:35px}.budget-group .finance-fields-grid{grid-template-columns:1fr}.budget-group .finance-field label{min-height:0}.finance-result-row{font-size:9px}.finance-result-row>strong{font-size:10px}.tool-controls{gap:15px}}
@media(prefers-reduced-motion:reduce){.tool-tab{transition:none}}
@media print{.financial-tools{display:none!important}}
