:root{--ink-900:#101820;--ink-700:#2b3947;--ink-500:#64748b;--ink-200:#e2e8f0;--ink-100:#edf1f5;--ink-050:#f6f8fa;--white:#fff;--brand:#0e5c7f;--brand-dk:#0a465f;--brand-tint:#eaf3f8;--brass:#c5a059;--brass-ink:#8a6420;--pos:#0f7b4f;--neg:#b3261e;--warn:#8a5a00;--font-body:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-input:16px;--fs-body:16px;--fs-table:15px;--fs-label:12px;--header-height:70px;--header-pad-y:10px;--fs-brand:24px;--fs-nav:17px;--w-content:760px;--w-rail:300px;--gutter:35px;--bp-rail:1180px;--radius:8px;--radius-sm:5px;--shadow-card:0 1px 2px #1018200d;--space-1:3px;--space-2:7px;--space-3:10px;--space-4:14px;--space-5:20px;--space-6:27px;--space-7:41px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ink-050);color:var(--ink-700);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4{color:var(--ink-900);text-wrap:balance;margin:0;font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.75rem,4.2vw,2.35rem)}h2{letter-spacing:-.01em;font-size:1.4rem}h3{font-size:1.1rem}p{margin:0}a{color:var(--brand);text-underline-offset:2px}a:hover{color:var(--brand-dk)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}img,svg{max-width:100%;height:auto}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--brand);color:var(--white);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{color:var(--white);top:0}.prose{max-width:68ch}.prose>*+*{margin-top:var(--space-4)}.prose h2{margin-top:var(--space-6)}.prose h3{margin-top:var(--space-5)}.prose ul,.prose ol{margin-top:var(--space-3);padding-left:22px}.prose li+li{margin-top:var(--space-2)}.prose li::marker{color:var(--ink-500)}.prose strong{color:var(--ink-900);font-weight:600}.prose code{font-family:var(--font-mono);background:var(--ink-100);color:var(--brand-dk);border-radius:3px;padding:1px 5px;font-size:.875em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{background:var(--ink-900);border-bottom:3px solid var(--brass);z-index:50;position:sticky;top:0}.site-header__inner{max-width:1240px;padding:var(--header-pad-y) var(--space-4);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.brand{color:var(--white);font-weight:700;font-size:var(--fs-brand);letter-spacing:-.01em;white-space:nowrap;text-decoration:none}.brand:hover{color:var(--white)}.brand em{color:var(--brass);font-style:normal}.nav{align-items:center;gap:2px;display:flex}.nav a,.nav summary{color:#c9d4dd;font-size:var(--fs-nav);border-radius:var(--radius-sm);white-space:nowrap;padding:8px 11px;font-weight:500;text-decoration:none;display:block}.nav a:hover,.nav summary:hover{color:var(--white);background:#1e2b36}.nav a[aria-current=page]{color:var(--brass);font-weight:600}.nav-group{position:relative}.nav-group>summary{cursor:pointer;align-items:center;gap:5px;list-style:none;display:flex}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"";border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.nav-group[open]>summary{color:var(--white);background:#1e2b36}.nav-group__menu{z-index:60;background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);min-width:232px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px -8px #10182047}.nav-group__menu a{color:var(--ink-700);border-radius:var(--radius-sm);padding:8px 11px;font-size:15px}.nav-group__menu a:hover{background:var(--brand-tint);color:var(--brand-dk)}.nav-toggle{display:none}.nav-toggle>summary{cursor:pointer;color:var(--white);border-radius:var(--radius-sm);font-size:var(--fs-nav);padding:8px 10px;font-weight:600;list-style:none}.nav-toggle>summary::-webkit-details-marker{display:none}.nav-toggle__menu{background:var(--white);border-bottom:1px solid var(--ink-200);padding:var(--space-2);position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px -12px #1018204d}.nav-toggle__menu a{color:var(--ink-700);padding:12px var(--space-3);border-radius:var(--radius-sm);font-size:15px;font-weight:500;text-decoration:none;display:block}.nav-toggle__menu a:hover{background:var(--brand-tint)}@media (width<=980px){.nav{display:none}.nav-toggle{display:block}}.site-footer{background:var(--ink-900);color:#9fb0bd;margin-top:var(--space-6);padding:var(--space-5) var(--space-4) var(--space-4);font-size:14px}.site-footer__inner{max-width:1240px;margin:0 auto}.site-footer__cols{gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid #26333e;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.site-footer h2{color:var(--brass);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-3);font-size:11px;font-weight:700}.site-footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:#c9d4dd;text-decoration:none}.site-footer a:hover{color:var(--brass);text-decoration:underline}.site-footer__base{padding-top:var(--space-4);gap:var(--space-3) var(--space-5);color:#7c8d9a;flex-wrap:wrap;justify-content:space-between;font-size:12.5px;display:flex}.crumbs{color:var(--ink-500);font-size:13px}.crumbs ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li:not(:last-child):after{content:"/";color:var(--ink-200);margin-left:6px}.crumbs a{color:var(--ink-500);text-decoration:none}.crumbs a:hover{color:var(--brand);text-decoration:underline}.crumbs [aria-current=page]{color:var(--ink-700);font-weight:500}.calc-card{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.calc-card__header{background:var(--ink-900);color:var(--brass);border-bottom:2px solid var(--brass);padding:9px var(--space-4);letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:11px;font-weight:700;display:flex}.calc-card__body{padding:var(--space-2) 0}.input-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:8px var(--space-4);border-bottom:1px solid var(--ink-100);display:flex}.input-row:last-child{border-bottom:none}.input-row__label{color:var(--ink-900);flex:auto;align-items:center;gap:2px;min-width:0;font-size:14px;font-weight:500;display:flex}.input-row__field{flex:0 0 168px;align-items:center;display:flex;position:relative}.field{width:100%;height:38px;font-family:var(--font-mono);font-size:var(--fs-input);color:var(--ink-900);background:var(--white);border-radius:var(--radius-sm);text-align:right;font-variant-numeric:tabular-nums;border:1px solid #b9c6d0;padding:0 11px;font-weight:600;transition:border-color .12s,box-shadow .12s}.field:hover{border-color:#9fb0bd}.field:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0e5c7f29}.field--has-prefix{padding-left:24px}.field--has-suffix{padding-right:26px}.field__prefix,.field__suffix{color:var(--ink-500);pointer-events:none;font-size:14px;font-weight:600;position:absolute}.field__prefix{left:11px}.field__suffix{right:11px}input[type=date].field{font-family:var(--font-body)}.segmented{border:0;min-width:0;margin:0;padding:0}.segmented__options{background:var(--ink-100);border:1px solid var(--ink-200);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.segmented__option{display:flex;position:relative}.segmented__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__option span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);white-space:nowrap;user-select:none;border-radius:4px;padding:6px 11px;font-size:12px;font-weight:700}.segmented__option input:hover+span{color:var(--ink-700)}.segmented__option input:checked+span{background:var(--white);color:var(--brand-dk);box-shadow:0 1px 2px #1018201f}.segmented__option input:focus-visible+span{outline:2px solid var(--brand);outline-offset:1px}.tip{display:inline-flex;position:relative}.tip__button{background:var(--ink-200);width:18px;height:18px;color:var(--ink-700);cursor:help;border:0;border-radius:50%;justify-content:center;align-items:center;margin-left:5px;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.tip__button:hover{background:var(--brand);color:var(--white)}.tip__bubble{z-index:60;background:var(--ink-900);width:max-content;max-width:min(260px,100vw - 24px);color:var(--white);border-radius:var(--radius-sm);text-align:left;text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;pointer-events:none;padding:9px 12px;font-size:12.5px;font-weight:400;line-height:1.45;transition:opacity .12s;position:fixed;top:0;left:0;box-shadow:0 6px 20px -6px #10182073}.tip__bubble:after{content:"";left:var(--arrow-x,50%);border:5px solid #0000;margin-left:-5px;position:absolute}.tip__bubble[data-placement=top]:after{border-top-color:var(--ink-900);top:100%}.tip__bubble[data-placement=bottom]:after{border-bottom-color:var(--ink-900);bottom:100%}.tip__bubble.is-visible{opacity:1;visibility:visible}.results{background:var(--ink-200);border-top:1px solid var(--ink-200);grid-template-columns:repeat(var(--result-cols,3), minmax(0, 1fr));gap:1px;display:grid}@media (width<=560px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{padding:var(--space-3) var(--space-2);text-align:center;background:#fbfcfd;flex-direction:column;justify-content:center;gap:3px;min-height:61px;display:flex}.tile--lead{background:var(--brand-tint)}.tile__label{font-size:var(--fs-label);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);flex-wrap:wrap;justify-content:center;align-items:center;font-weight:700;line-height:1.25;display:flex}.tile__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-900);font-size:18px;font-weight:700;line-height:1.2}.tile--lead .tile__value{color:var(--brand-dk);font-size:21px}.tile__value--positive{color:var(--pos)}.tile__value--negative{color:var(--neg)}.tile__note{color:var(--ink-500);font-size:11.5px}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;align-self:center;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-block}.badge--warn{color:var(--warn);background:#fbf0dc}.badge--pos{color:var(--pos);background:#e2f2ea}.badge--neg{color:var(--neg);background:#fbe9e7}.collapse{border-top:1px solid var(--ink-200);background:var(--white)}.collapse>summary{cursor:pointer;padding:10px var(--space-4);color:var(--brand);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:14px;font-weight:600;list-style:none;display:flex}.collapse>summary::-webkit-details-marker{display:none}.collapse>summary:hover{background:var(--brand-tint)}.collapse__sign{font-family:var(--font-mono);color:var(--ink-500);font-size:16px;font-weight:600;line-height:1}.collapse[open]>summary{border-bottom:1px solid var(--ink-100)}.collapse[open]>summary .collapse__sign:before{content:"−"}.collapse:not([open])>summary .collapse__sign:before{content:"+"}.ad{background:var(--ink-100);border-radius:var(--radius);border:1px dashed #c3ced8;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;overflow:hidden}.ad__label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-size:10px;font-weight:700}.ad__placeholder{color:#a5b3bf;font-size:11.5px;font-family:var(--font-mono)}.ad--banner{min-height:280px;margin:var(--space-5) 0}.ad--rail{min-height:620px}@media (width<=700px){.ad--banner{min-height:300px}}.faq{gap:var(--space-2);display:grid}.faq__item{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);overflow:hidden}.faq__item>summary{cursor:pointer;padding:10px var(--space-4);color:var(--ink-900);justify-content:space-between;align-items:flex-start;gap:var(--space-3);font-size:15.5px;font-weight:600;list-style:none;display:flex}.faq__item>summary::-webkit-details-marker{display:none}.faq__item>summary:hover{background:var(--brand-tint)}.faq__sign{color:var(--brand);flex:none;font-weight:700;line-height:1.5}.faq__item[open] .faq__sign:before{content:"−"}.faq__item:not([open]) .faq__sign:before{content:"+"}.faq__answer{padding:0 var(--space-4) var(--space-4);color:var(--ink-700);max-width:68ch}.formula{background:var(--white);border:1px solid var(--ink-200);border-left:3px solid var(--brass);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-4)}.formula__expression{font-family:var(--font-mono);color:var(--ink-900);background:var(--ink-050);padding:var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;font-size:15px;font-weight:600;overflow-x:auto}.formula__terms{margin:var(--space-3) 0 0;gap:7px;padding:0;list-style:none;display:grid}.formula__terms li{gap:var(--space-3);grid-template-columns:84px minmax(0,1fr);font-size:14px;display:grid}.formula__terms dfn{font-family:var(--font-mono);color:var(--brand-dk);font-style:normal;font-weight:600}.example{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);padding:var(--space-4)}.example__scenario{color:var(--ink-700);margin-bottom:var(--space-3)}.example__inputs{background:var(--ink-200);border:1px solid var(--ink-200);border-radius:var(--radius-sm);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid;overflow:hidden}.example__input{background:var(--ink-050);padding:8px var(--space-3)}.example__input dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:700}.example__input dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-900);margin:2px 0 0;font-weight:600}.byline{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;border-top:1px solid var(--ink-200);color:var(--ink-500);flex-wrap:wrap;font-size:13.5px;display:flex}.byline__name{color:var(--ink-900);font-weight:600}.byline__role{color:var(--ink-500)}.byline__date{font-family:var(--font-mono);font-size:12.5px}.disclaimer{background:var(--white);border:1px solid var(--ink-200);border-left:3px solid var(--ink-500);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-2) var(--space-4);color:var(--ink-500);max-width:68ch;font-size:13.5px}.disclaimer strong{color:var(--ink-700)}.related{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.tool-card{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-card);text-decoration:none;transition:border-color .12s,transform .12s;display:block}.tool-card:hover{border-color:var(--brand);transform:translateY(-1px)}.tool-card__name{color:var(--ink-900);margin-bottom:5px;font-size:16px;font-weight:700}.tool-card:hover .tool-card__name{color:var(--brand-dk)}.tool-card__intent{color:var(--ink-500);font-size:14px;line-height:1.5}.chart{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);display:grid}.chart__title{color:var(--ink-900);font-size:15px;font-weight:700}.chart__note{color:var(--ink-500);font-size:13px}.chart__bar{border-radius:4px;width:100%;height:44px;display:block}.chart__area{max-width:100%;height:auto;display:block;overflow:visible}.chart__tick{font-family:var(--font-mono);fill:var(--ink-500);font-variant-numeric:tabular-nums;font-size:10.5px}.chart__marker-label{font-family:var(--font-body);fill:var(--ink-900);font-size:11px;font-weight:700}.chart__legend{gap:5px;margin:0;padding:0;list-style:none;display:grid}.chart__legend li{gap:var(--space-2);grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;font-size:13.5px;display:grid}.chart__legend--inline{justify-content:start;gap:var(--space-4);grid-auto-columns:max-content;grid-auto-flow:column}.chart__legend--inline li{grid-template-columns:12px auto}.chart__swatch{border-radius:3px;width:12px;height:12px}.chart__legend-name{color:var(--ink-700)}.chart__legend-value{color:var(--ink-900);font-weight:600;font-family:var(--font-mono)}.chart__legend-share{color:var(--ink-500);font-family:var(--font-mono);text-align:right;min-width:48px}.chart-row{gap:var(--space-4);display:grid}@media (width>=720px){.chart-row--split{grid-template-columns:1fr 1fr}}.kv{background:var(--ink-200);border:1px solid var(--ink-200);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.kv__row{background:var(--white);justify-content:space-between;align-items:center;gap:var(--space-3);padding:9px var(--space-4);font-size:14px;display:flex}.kv__row--total{background:var(--brand-tint);font-weight:700}.kv__label{color:var(--ink-700);align-items:center;gap:2px;display:flex}.kv__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-900);white-space:nowrap;font-weight:600}.kv__value--positive{color:var(--pos)}.kv__value--negative{color:var(--neg)}.field-group{border-top:1px solid var(--ink-200);background:var(--ink-050)}.field-group__title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);padding:9px var(--space-4) 2px;font-size:11px;font-weight:700}.field-group .input-row{background:var(--ink-050)}@media (width<=560px){.input-row{gap:var(--space-2);flex-wrap:wrap}.input-row__label,.input-row__field{flex:100%}.segmented{width:100%}.segmented__options{width:100%;display:flex}.segmented__option{flex:1 1 0;min-width:0}.segmented__option span{text-align:center;text-overflow:ellipsis;width:100%;padding:8px 6px;overflow:hidden}.chart__legend li{grid-template-columns:12px minmax(0,1fr) auto}.chart__legend-share{display:none}}.chart>*,.formula,.example{min-width:0}.table-wrap{border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--white);overflow:hidden}.table-scroll{max-height:640px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-table);min-width:640px}.data-table thead th{z-index:2;background:var(--ink-900);color:var(--white);letter-spacing:.07em;text-transform:uppercase;padding:9px var(--space-3);text-align:right;white-space:nowrap;font-size:11px;font-weight:600;position:sticky;top:0}.data-table thead th:first-child,.data-table tbody td:first-child{text-align:left}.data-table tbody td{padding:7px var(--space-3);text-align:right;border-bottom:1px solid var(--ink-100);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-700);white-space:nowrap}.data-table tbody tr:nth-child(2n) td{background:#fafbfc}.data-table tbody tr:hover td{background:var(--brand-tint)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr.is-subtotal td{color:var(--ink-900);border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200);font-weight:700;background:var(--ink-100)!important}.data-table tr.is-balloon td{color:var(--warn);font-weight:700;background:#fbf0dc!important}.table-foot{gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--ink-200);background:var(--ink-050);color:var(--ink-500);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:13px;display:flex}.btn{background:var(--white);height:34px;color:var(--brand-dk);border:1px solid var(--ink-200);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--brand);background:var(--brand-tint)}.btn--primary{background:var(--brand);border-color:var(--brand);color:var(--white)}.btn--primary:hover{background:var(--brand-dk);border-color:var(--brand-dk);color:var(--white)}@media print{.site-header,.site-footer,.ad,.crumbs,.related,.nav,.skip-link{display:none!important}body{color:#000;background:#fff;font-size:11pt}.tool-layout,.tool-layout__main{max-width:none;padding:0;display:block}.calc-card,.table-wrap,.faq__item{box-shadow:none;break-inside:avoid;border-color:#999}.calc-card__header{border-bottom:2px solid #000;color:#000!important;background:#fff!important}.table-scroll{max-height:none;overflow:visible}.data-table thead{display:table-header-group}.data-table thead th{border-bottom:1px solid #000;color:#000!important;background:#fff!important}.data-table tbody tr{break-inside:avoid}.faq__item[open] .faq__answer,details[open]>:not(summary){display:block!important}a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:9pt}}
