/* Scoped editorial calculator surfaces; existing portfolio styles remain untouched. */
.ft-page{max-width:1160px;margin:auto;padding:42px 28px 84px;color:#142d45;background:#fff;line-height:1.6}.ft-crumb{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;margin:10px 0 30px}.ft-crumb a,.ft-back{color:#166966;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.ft-intro{max-width:780px;margin:0 0 32px}.ft-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;color:#166966}.ft-intro h1{font-size:clamp(34px,5vw,54px);line-height:1.12;margin:14px 0 20px;color:#142d45}.ft-intro>p:not(.ft-eyebrow){font-size:17px}.ft-intro .ft-privacy{font-size:14px!important;color:#465b68;border-left:2px solid #1b8078;padding-left:16px}.ft-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ft-tool-card{display:block;background:#f3f7f8;border:1px solid #d1dde2;border-radius:8px;padding:32px;color:#142d45;text-decoration:none}.ft-tool-card:hover{border-color:#1b8078;box-shadow:0 5px 22px #142d4512}.ft-tool-card h2{font-size:26px}.ft-tool-card>span:last-child{color:#166966;font-weight:700}.ft-note,.ft-disclaimer{font-size:14px;color:#465b68}.ft-disclaimer{padding:20px 0;border-top:1px solid #d1dde2;border-bottom:1px solid #d1dde2;margin-bottom:32px}.ft-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:38px}.ft-page fieldset{min-width:0;border:0;padding:0;margin:20px 0 30px}.ft-page legend{font-size:19px;font-weight:700;width:100%;border-bottom:1px solid #d1dde2;padding:0 0 12px;margin-bottom:18px}.ft-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ft-field{min-width:0}.ft-field>label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.ft-field input:not([type=checkbox]),.ft-field select{display:block;width:100%;max-width:100%;min-height:46px;background:#fff;color:#142d45;border:1px solid #9eafb9;border-radius:5px;padding:10px 12px;font:inherit;font-size:16px;box-sizing:border-box}.ft-check label{font-size:14px;font-weight:400;display:flex;gap:10px;align-items:center;min-height:46px}.ft-check input{width:20px;height:20px;flex-shrink:0;accent-color:#166966}.ft-page button{font:inherit;font-weight:600;min-height:46px;border:1px solid #9eafb9;border-radius:5px;background:#fff;color:#142d45;padding:10px 17px;cursor:pointer}.ft-page button.ft-primary{background:#142d45;color:white;border-color:#142d45}.ft-page button:hover{border-color:#166966}.ft-page button:disabled{opacity:.55;cursor:default}.ft-page :is(a,button,input,select,summary):focus-visible{outline:3px solid #167a72;outline-offset:4px}.ft-page h1:focus,.ft-page h2:focus{outline:none}.ft-actions{display:flex;gap:12px;flex-wrap:wrap;padding:18px 0}.ft-output{background:#f3f7f8;border:1px solid #d1dde2;border-radius:8px;padding:26px;min-width:0}.ft-output h2{font-size:24px;margin:0 0 22px}.ft-total-label{font-size:14px;margin:0}.ft-total{font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1.3;margin:8px 0 20px;overflow-wrap:anywhere}.ft-result-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #d1dde2;padding:12px 0;font-size:14px}.ft-result-row dt{flex:1;min-width:0}.ft-result-row small{display:block;font-size:12px;line-height:1.5;color:#465b68}.ft-result-row dd{margin:0;font-weight:600;max-width:52%;overflow-wrap:anywhere;text-align:right}.ft-errors{border-left:3px solid #a32d24;padding:14px 18px;background:#fff3f2;margin:20px 0}.ft-errors[hidden]{display:none}.ft-errors h2{font-size:18px}.ft-field-error{display:block;color:#923022;font-size:13px;margin-top:5px}.ft-field [aria-invalid=true]{border-color:#923022!important}.ft-custom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.ft-custom button{grid-column:1/-1;justify-self:start}.ft-assumptions{margin:20px 0}.ft-assumptions summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:600}.ft-print-note{display:none}.ft-back{display:inline-block;margin-top:28px;font-size:15px}.ft-output dl{margin:0}.ft-output p[data-output]{font-size:16px}
@media(max-width:850px){.ft-workspace{grid-template-columns:1fr;gap:26px}.ft-page{padding:28px 22px 60px}.ft-tool-card{padding:24px}}
.ft-preview-section{margin-top:56px;padding-top:34px;border-top:1px solid #d1dde2}
.ft-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.ft-preview-card{min-width:0;padding:20px;border:1px solid #d1dde2;border-radius:8px;background:#f8fafb}
.ft-preview-card h3{font-size:19px;line-height:1.3;margin:10px 0;color:#142d45}
.ft-preview-card p{font-size:14px;color:#465b68;margin:0 0 14px}
.ft-preview-status{font-size:12px;font-weight:700;color:#285b65;text-transform:uppercase;letter-spacing:.04em}
.ft-preview-card a{display:inline-block;color:#166966;font-size:14px;font-weight:700;text-underline-offset:3px;min-height:44px;padding-block:10px}
.ft-preview-card small{display:block;color:#465b68;line-height:1.5}
@media(max-width:850px){.ft-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ft-preview-grid{grid-template-columns:1fr}}
@media(max-width:480px){.ft-fields,.ft-tool-grid,.ft-custom{grid-template-columns:1fr}.ft-page{padding:22px 20px 50px}.ft-output{padding:20px}.ft-intro h1{font-size:36px}.ft-actions button{flex:1}.ft-result-row{font-size:14px}}
.ft-print-only{display:none}
@media print{
 @page{size:letter portrait;margin:15mm}
 body:has(.ft-page){background:#fff;color:#142d45}
 body:has(.ft-page) :is(.site-header,.ms-footer,.site-footer,.skip,.ms-back-top),.ft-page :is(.ft-crumb,.ft-intro,.ft-disclaimer,form,.ft-back,.ft-output button,.ft-assumptions,.ft-screen-result-title){display:none!important}
 .ft-page{max-width:none;margin:0;padding:0;font-size:10pt;line-height:1.4}
 .ft-output>.ft-note{display:none}
 .ft-workspace{display:block}.ft-output{border:0;padding:0;background:#fff;border-radius:0}
 .ft-print-only{display:block}.ft-report-heading{border-bottom:1px solid #9eafb9;padding:0 0 10pt;margin-bottom:14pt;break-inside:avoid}
 .ft-report-heading p{font-size:10pt;margin:0 0 5pt}.ft-report-heading h2{font-size:22pt;margin:0 0 8pt}.ft-report-scenario{overflow-wrap:anywhere;font-weight:600}
 .ft-total-label{font-size:10pt}.ft-total{font-size:23pt;margin:6pt 0 12pt}
 .ft-result-row{font-size:10pt;line-height:1.3;padding:2pt 0;gap:14pt;break-inside:avoid;page-break-inside:avoid}
 .ft-result-row small{font-size:9pt;line-height:1.2}.ft-result-row dd{max-width:48%}.ft-result-row dt{overflow-wrap:anywhere}
 .ft-output .ft-note{font-size:9pt}.ft-report-assumptions{break-before:page;page-break-before:always}
 .ft-report-assumptions h3,.ft-report-notes h3{font-size:13pt;margin:12pt 0 8pt;break-after:avoid}
 .ft-report-notes{margin-top:14pt;border-top:1px solid #9eafb9;font-size:9pt;line-height:1.5}
 .ft-report-notes p{margin:0}.ft-report-results>p{break-after:avoid}
}


.ft-output,.ft-errors{scroll-margin-top:110px}

.ft-page .ft-crumb{position:static;inset:auto;width:auto;max-width:none;background:transparent;transform:none;padding:0;border:0}

/* Screen-only editorial correction; original print inheritance above is intact. */
/* Free Tools only. Explicit editorial spacing prevents inherited reset styles
   from collapsing titles, descriptions and CTAs. Print rules are preserved below. */
@media screen{
 body:has(.ft-page){background:#f4f7f8}
 .ft-page{--ft-ink:#142d45;--ft-muted:#465b68;--ft-teal:#166966;--ft-rule:#d1dde2;max-width:1216px;margin:0 auto;padding:28px 40px 80px;color:var(--ft-ink);background:#fff;line-height:1.65;box-sizing:border-box}
 .ft-page *{box-sizing:border-box}
 .ft-page :is(h1,h2,h3,p,dl,fieldset){margin:0}
 .ft-page :is(h1,h2,h3){color:var(--ft-ink);font-family:inherit;font-weight:400}
 .ft-page .ft-crumb{position:static;inset:auto;width:auto;max-width:none;transform:none;display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:transparent;border:0;padding:0;margin:0 0 34px;font-size:13px;line-height:1.5}
 .ft-page .ft-crumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--ft-teal);text-decoration:underline;text-underline-offset:4px}
 .ft-page .ft-crumb>span[aria-hidden]{color:#7b8b97}
 .ft-page .ft-intro{max-width:850px;padding:0 0 28px;margin:0}
 .ft-page .ft-eyebrow{display:block;color:var(--ft-teal);font-size:11px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.13em}
 .ft-page .ft-intro h1{font-size:44px;line-height:1.12;letter-spacing:-.035em;margin:14px 0 18px}
 .ft-page .ft-intro>p:not(.ft-eyebrow):not(.ft-privacy){font-size:18px;line-height:1.65;color:var(--ft-muted);max-width:64ch}
 .ft-page .ft-intro .ft-privacy{margin:20px 0 0;padding:0 0 0 14px;border-left:2px solid #36857f;font-size:13px;line-height:1.65;color:var(--ft-muted)}
 .ft-page .ft-selection{margin:10px 0 0;padding:28px 0 0;border-top:1px solid var(--ft-rule)}
 .ft-page .ft-selection-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-bottom:24px}
 .ft-page .ft-selection-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.02em}
 .ft-page .ft-selection-heading p{font-size:14px;color:var(--ft-muted)}
 .ft-page .ft-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .ft-page .ft-tool-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;min-width:0;padding:30px;border:1px solid var(--ft-rule);border-radius:12px;background:#f7f9fa;color:var(--ft-ink);text-decoration:none;box-shadow:0 8px 24px -20px #142d4538}
 .ft-page .ft-tool-number{align-self:flex-end;margin-bottom:8px;color:#647783;font-size:13px;font-variant-numeric:tabular-nums;line-height:1}
 .ft-page .ft-tool-card h2{font-size:29px;line-height:1.2;letter-spacing:-.03em;margin:14px 0 16px}
 .ft-page .ft-tool-card>p{font-size:16px;line-height:1.7;max-width:45ch;color:var(--ft-muted);margin:0 0 28px}
 .ft-page .ft-tool-card>.ft-cta{display:inline-flex;gap:24px;justify-content:space-between;align-items:center;min-height:48px;max-width:100%;margin-top:auto;padding:11px 18px;border:1px solid var(--ft-ink);border-radius:7px;color:#fff;background:var(--ft-ink);font-size:14px;line-height:1.5;font-weight:600}
 .ft-page .ft-tool-card:hover,.ft-page .ft-tool-card:focus-visible{border-color:var(--ft-teal);background:#f0f6f5;box-shadow:0 12px 28px -22px #142d4566}
 .ft-page .ft-tool-card:hover .ft-cta{background:#20465e}
 .ft-page .ft-separation-note{margin:28px 0 0;padding:18px 0 0;border-top:1px solid var(--ft-rule);max-width:none}
 .ft-page .ft-note,.ft-page .ft-disclaimer{font-size:13px;line-height:1.7;color:var(--ft-muted)}
 .ft-page .ft-disclaimer{padding:18px 20px;margin:0 0 28px;border:1px solid var(--ft-rule);border-left:3px solid #36857f;border-radius:0 8px 8px 0;background:#f7f9fa}
 .ft-page .ft-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;align-items:start}
 .ft-page form{min-width:0}
 .ft-page form>.ft-note{padding:0 2px;margin:0 0 20px;max-width:64ch}
 .ft-page fieldset{min-width:0;padding:22px 24px 24px;border:1px solid var(--ft-rule);border-radius:10px;background:#fff;margin:0 0 22px}
 .ft-page legend{float:left;width:100%;padding:0 0 16px;margin:0 0 18px;border-bottom:1px solid var(--ft-rule);font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.015em;color:var(--ft-ink)}
 .ft-page legend+.ft-fields{clear:both}
 .ft-page .ft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
 .ft-page .ft-field{min-width:0}
 .ft-page .ft-field>label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.5;color:var(--ft-ink)}
 .ft-page .ft-field :is(input:not([type=checkbox]),select){display:block;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #a1b2bd;border-radius:6px;padding:11px 12px;font:inherit;font-size:16px;line-height:1.5;color:var(--ft-ink);background:#fbfcfd;font-variant-numeric:tabular-nums}
 .ft-page .ft-field :is(input,select):hover{border-color:#647d8b}
 .ft-page .ft-field>small.ft-note{display:block;margin:8px 0 0;font-size:13px;line-height:1.65}
 .ft-page form>[class=ft-note],.ft-page [data-fields]>.ft-note{margin:0 2px 24px}
 .ft-page .ft-field-error{display:block;font-size:13px;line-height:1.5;color:#923022;margin:6px 0 0}
 .ft-page .ft-field-error:empty{display:none}
 .ft-page .ft-field [aria-invalid=true]{border-color:#923022}
 .ft-page .ft-check label{display:flex;align-items:flex-start;gap:10px;min-height:48px;font-weight:400;margin:0;padding:8px 0;font-size:14px}
 .ft-page .ft-check input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ft-teal)}
 .ft-page button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border:1px solid #a1b2bd;border-radius:7px;background:#fff;color:var(--ft-ink);font:inherit;font-size:14px;line-height:1.5;font-weight:600;cursor:pointer}
 .ft-page button.ft-primary{background:var(--ft-ink);border-color:var(--ft-ink);color:#fff}
 .ft-page button:hover{border-color:var(--ft-teal);background:#edf4f3}
 .ft-page button.ft-primary:hover{background:#20465e}
 .ft-page button:disabled{opacity:.55;cursor:default}
 .ft-page .ft-actions{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:6px 0 0}
 .ft-page .ft-output{min-width:0;padding:28px;border:1px solid var(--ft-rule);border-top:3px solid var(--ft-teal);border-radius:10px;background:#f3f7f8;position:sticky;top:112px;scroll-margin-top:112px}
 .ft-page .ft-output:has(.ft-total){position:static}
 .ft-page .ft-output h2{font-size:25px;line-height:1.25;letter-spacing:-.02em;margin:0 0 18px}
 .ft-page .ft-output p[data-output]{font-size:15px;line-height:1.7;color:var(--ft-muted)}
 .ft-page .ft-total-label{font-size:13px;line-height:1.5;color:var(--ft-muted)}
 .ft-page .ft-total{font-size:34px;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:10px 0 24px;color:var(--ft-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
 .ft-page .ft-output dl{margin:0}
 .ft-page .ft-result-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--ft-rule);font-size:13px;line-height:1.6}
 .ft-page .ft-result-row dt{flex:1;min-width:0}
 .ft-page .ft-result-row small{display:block;font-size:12px;line-height:1.6;color:var(--ft-muted);margin-top:3px}
 .ft-page .ft-result-row dd{max-width:52%;margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--ft-ink)}
 .ft-page .ft-output>.ft-note{margin-top:18px}
 .ft-page .ft-assumptions{margin:18px 0;border-top:1px solid var(--ft-rule);padding-top:6px}
 .ft-page .ft-assumptions summary{cursor:pointer;padding:12px 0;min-height:48px;font-size:13px;font-weight:600;color:var(--ft-teal)}
 .ft-page .ft-errors{padding:18px 20px;border-left:3px solid #923022;background:#fff3f2;margin:0 0 22px;scroll-margin-top:112px}
 .ft-page .ft-errors[hidden]{display:none}
 .ft-page .ft-errors h2{font-size:18px;margin:0 0 12px}
 .ft-page .ft-errors ul{margin:0;padding-left:20px}
 .ft-page .ft-errors a{color:#782d28;text-decoration:underline;text-underline-offset:3px}
 .ft-page .ft-custom{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
 .ft-page .ft-custom button{grid-column:1/-1;justify-self:start}
 .ft-page fieldset>p.ft-note{clear:both;margin:0 0 18px}
 .ft-page [data-custom]{clear:both}
 .ft-page .ft-back{display:inline-flex;align-items:center;min-height:48px;margin:24px 0 0;padding:10px 16px;border:1px solid var(--ft-rule);border-radius:7px;color:var(--ft-teal);font-size:14px;text-decoration:none}
 .ft-page .ft-back:hover{background:#edf4f3;border-color:var(--ft-teal)}
 .ft-page :is(a,button,input,select,summary):focus-visible{outline:3px solid #167a72;outline-offset:4px}
 .ft-page :is(h1,h2):focus{outline:none}
 .ft-page .ft-fields>.ft-field:has(select),.ft-page .ft-fields>.ft-field:has(>small.ft-note),.ft-page .ft-fields>.ft-check{grid-column:1/-1}
 @media(max-width:1000px){.ft-page{padding:24px 28px 64px}.ft-page .ft-workspace{grid-template-columns:1fr}.ft-page .ft-output{position:static}.ft-page .ft-fields{gap:20px 24px}.ft-page fieldset{padding:22px 24px}}
 @media(max-width:700px){.ft-page .ft-tool-grid{grid-template-columns:1fr}.ft-page .ft-selection-heading{display:block}.ft-page .ft-selection-heading p{margin-top:10px}.ft-page .ft-tool-card{padding:26px}.ft-page .ft-tool-card h2{font-size:27px}.ft-page .ft-intro h1{font-size:36px}}
 @media(max-width:480px){.ft-page{padding:18px 20px 48px}.ft-page .ft-crumb{gap:10px;margin-bottom:24px;font-size:12px}.ft-page .ft-intro{padding-bottom:24px}.ft-page .ft-intro h1{font-size:32px;line-height:1.18}.ft-page .ft-intro>p:not(.ft-eyebrow):not(.ft-privacy){font-size:16px}.ft-page .ft-fields,.ft-page .ft-custom{grid-template-columns:1fr}.ft-page fieldset{padding:20px 18px;margin-bottom:18px}.ft-page legend{font-size:17px}.ft-page .ft-output{padding:22px 20px}.ft-page .ft-total{font-size:30px}.ft-page .ft-disclaimer{padding:16px;margin-bottom:24px}.ft-page .ft-actions button{flex:1}.ft-page .ft-tool-card{padding:24px}.ft-page .ft-tool-card>.ft-cta{width:100%;gap:12px}.ft-page .ft-separation-note{margin-top:24px}.ft-page .ft-result-row{gap:12px}}
}

/* Final readability polish; print presentation remains unchanged. */
@media screen{
 .ft-page .ft-note,.ft-page .ft-disclaimer,.ft-page .ft-field>small.ft-note,.ft-page .ft-field>label,.ft-page .ft-result-row,.ft-page .ft-methodology :is(summary,p){font-size:14px}
 .ft-page .ft-methodology{margin:0 0 22px;padding:0 18px;border:1px solid #d1dde2;border-radius:8px;background:#f7f9fa}
 .ft-page .ft-methodology summary{padding:14px 0;min-height:48px;font-size:13px;font-weight:600;color:#166966;cursor:pointer}
 .ft-page .ft-methodology p{font-size:13px;line-height:1.7;color:#465b68;margin:0 0 18px;max-width:75ch}
 .ft-page .ft-methodology :is(summary,p){font-size:14px}
 .ft-page .ft-methodology summary:focus-visible{outline:3px solid #167a72;outline-offset:4px}
}

/* Avoid repeating the same manual-input basis on every printed cost line.
   The complete entered-assumptions snapshot and financial notes remain printed. */
@media print{.ft-report-results .ft-entered-basis{display:none}}

@media screen and (max-width:480px){.ft-page .ft-field select[name=taxMode]{font-size:13px;padding-left:8px;padding-right:6px}}

/* Available calculators and private previews use distinct, explicit chips. */
.ft-page .ft-availability,.ft-page .ft-preview-status{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #548575;border-radius:6px;background:#e9f3f0;color:#245849;font-size:12px;font-weight:600;letter-spacing:0;text-decoration:none;text-transform:none}
.ft-page .ft-tool-card .ft-availability{margin:0 0 12px}
.ft-page .ft-preview-status{border-color:#8294a6;background:#eaf0f6;color:#33465a}
.ft-page{max-width:none;padding-inline:var(--gutter,max(20px,calc((100vw - 1248px)/2)))}

/* Keep the fixed page shortcut clear of calculator result values on phones. */
@media screen and (max-width:600px){body:has(.ft-page) .ms-back-top{display:none}}
