:root{--bg:#f7f5f0;--surface:#fff;--surface-muted:#f1eee7;--text:#1b2330;--text-lede:#4f5968;--text-muted:#586272;--text-chart:#3e4756;--icon-muted:#6b7482;--border:#e3ded4;--rule:#ede9e1;--border-strong:#c9c2b3;--today:#b4582f;--today-soft:#e2a788;--m4a:#1f5f8b;--m4a-hover:#16466a;--m4a-wash:#eef3f8;--neutral-bar:#cfc9be;--accent:var(--m4a);--focus:#2b7bd6;--shadow-pop:0 8px 24px #1b23301a;--radius:12px;--radius-sm:8px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#12161c;--surface:#1a2029;--surface-muted:#222a35;--text:#e9edf2;--text-lede:#b8c1cc;--text-muted:#a3adba;--text-chart:#c3cbd5;--icon-muted:#97a2b0;--border:#2d3644;--rule:#262e3a;--border-strong:#3d4858;--today:#e0895e;--today-soft:#8a4a2c;--m4a:#7fb6e0;--m4a-hover:#a6cdec;--m4a-wash:#1d3346;--neutral-bar:#4a525e;--shadow-pop:0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-serif);text-wrap:balance;margin:0;line-height:1.15}p{margin:0}a{color:var(--accent)}a:hover{color:var(--m4a-hover)}button{font:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.container{max-width:1088px;margin:0 auto;padding:0 24px}@media (width<=599px){.container{padding:0 16px}}.section{padding:clamp(48px,7vw,72px) 0}.section+.section{border-top:1px solid var(--border)}.section__title{letter-spacing:-.015em;max-width:760px;font-size:clamp(1.85rem,3.6vw,2.5rem);font-weight:600;line-height:1.15}.section__lede{text-wrap:pretty;max-width:64ch;color:var(--text-lede);margin-top:20px;font-size:clamp(1.0625rem,1.6vw,1.125rem);line-height:1.6}.nowrap{white-space:nowrap}.section__lede sup{line-height:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;margin:0;padding:clamp(20px,3vw,32px)}.section__body,.card.section__body{margin-top:clamp(32px,4vw,44px)}.card__foot{border-top:1px solid var(--rule);color:var(--text-muted);margin-top:24px;padding-top:12px;font-size:.8125rem}.chart-title{font-family:var(--font-sans);text-wrap:pretty;font-size:.9375rem;font-weight:600;line-height:1.4}.key-number{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.link-button{font:inherit;color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.link-button:hover{color:var(--m4a-hover)}.link-button--block{align-items:center;min-height:44px;margin-bottom:-10px;font-size:.875rem;display:inline-flex}.card__foot .link-button--block,.calc-form__customize .link-button--block{margin-top:-10px}.site-header{border-bottom:1px solid var(--border);padding:18px 0}.site-header .container{align-items:center;gap:10px;display:flex}.theme-toggle{margin-left:auto;width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-block:-8px;display:inline-flex}.theme-toggle:hover{color:var(--text);background:var(--surface-muted)}.wordmark{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.faq__questions{padding-block:4px}.faq__item+.faq__item{border-top:1px solid var(--rule)}.faq__item summary{cursor:pointer;text-wrap:pretty;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding-block:18px;font-size:clamp(1.0625rem,1.6vw,1.1875rem);font-weight:600;line-height:1.35;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:hover{color:var(--m4a)}.faq__icon{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--m4a);border-radius:50%;flex:none;place-items:center;transition:transform .2s,background-color .2s,border-color .2s;display:grid}.faq__item summary:hover .faq__icon{background:var(--m4a-wash);border-color:var(--m4a)}.faq__item[open] .faq__icon{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.faq__icon{transition:none}}.faq__answer{max-width:68ch;color:var(--text-lede);padding-bottom:28px;line-height:1.65}.faq__answer strong{color:var(--text);font-weight:600}.faq__answer p+p{margin-top:14px}.faq__jump{flex-wrap:wrap;gap:0 20px;display:flex}.faq__answer .faq__jump{margin-top:8px}.faq__jump a{align-items:center;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.faq__jump a:after{content:"→";margin-left:6px;transition:transform .15s}.faq__jump a:hover:after{transform:translate(3px)}.faq__answer .faq__sources{border-top:1px solid var(--rule);color:var(--text-muted);margin-top:18px;padding-top:12px;font-size:.8125rem}.faq__sources-label{margin-right:6px;font-weight:600}.faq__sources a{color:var(--text-muted);text-underline-offset:2px}.faq__sources a:hover{color:var(--m4a)}.site-footer{border-top:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);padding:32px 0 40px;font-size:.875rem}.site-footer p{max-width:70ch}.intl__anchor{position:relative}.intl__info{width:26px;height:26px;color:var(--icon-muted);cursor:pointer;vertical-align:-.3em;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-6px 0 -6px .25em;padding:0;display:inline-flex;position:relative}.intl__info:after{content:"";position:absolute;inset:-9px}.intl__info:hover,.intl__info[aria-expanded=true]{background:var(--m4a-wash);color:var(--m4a)}.intl__pop{z-index:5;border:1px solid var(--border-strong);background:var(--surface);width:min(360px,100%);color:var(--text);box-shadow:var(--shadow-pop);font-family:var(--font-sans);text-align:left;border-radius:10px;padding:16px;font-size:.875rem;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 8px);left:0}.intl__pop[hidden]{display:none}.intl__pop-source{border-top:1px solid var(--rule);color:var(--text-muted);margin-top:10px;padding-top:10px;font-size:.8125rem}.intro__title{letter-spacing:-.02em;max-width:880px;font-size:clamp(2.25rem,5.4vw,3.5rem);font-weight:600;line-height:1.08}.intro .intl__anchor+.intl__anchor .section__lede{margin-top:16px}.spending__emphasis{color:var(--m4a)}.spending__caption{font-size:.9375rem}.spending__rows{margin-top:24px;display:grid}.spending__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label facts""bar bar";align-items:end;gap:8px 16px;padding:20px 0;display:grid}.spending__row+.spending__row{border-top:1px solid var(--rule)}.spending__row:first-child{padding-top:0}.spending__row:last-child{padding-bottom:0}.spending__label{grid-area:label;font-size:.9375rem;font-weight:600}.spending__label--m4a{color:var(--m4a)}.spending__track{background:var(--surface-muted);border-radius:4px;grid-area:bar;height:36px;overflow:hidden}.spending__bar{border-radius:4px;height:100%}.spending__bar--today{background:var(--today)}.spending__bar--m4a{background:var(--m4a)}.spending__facts{text-align:right;color:var(--text-muted);flex-direction:column;grid-area:facts;gap:2px;font-size:.875rem;line-height:1.4;display:flex}.spending__facts strong{font-family:var(--font-serif);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1.1}.spending__row--m4a .spending__facts strong{color:var(--m4a)}@media (width<=759px){.spending__row{grid-template-areas:"label value""bar bar""note1 note1""note2 note2";align-items:baseline;row-gap:6px}.spending__facts{display:contents}.spending__facts strong{text-align:right;grid-area:value}.spending__facts span{text-align:left}.spending__facts span:first-of-type{grid-area:note1;margin-top:4px}.spending__facts span:nth-of-type(2){grid-area:note2;margin-top:-4px}}@media (width>=760px){.spending__row{grid-template-columns:150px minmax(0,1fr) 220px;grid-template-areas:"label bar facts";align-items:center;gap:24px}.spending__track{height:40px}.spending__facts{text-align:left}.spending__facts strong{font-size:1.75rem}}.intl__charts{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.intl__figure{grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:24px;display:grid}.intl__head{flex-direction:column;justify-content:flex-start;display:flex}.intl__control{flex-direction:column;gap:8px;margin-bottom:-8px;display:flex}.intl__control-label{font:500 .875rem/1.3 var(--font-sans);color:var(--text-muted)}@media (width>=900px){.intl__charts{grid-template-columns:repeat(2,minmax(0,1fr))}.intl__control{flex-direction:row;grid-area:1/1/auto/-1;align-items:center;gap:14px;margin-bottom:-4px}.intl__figure{grid-row:2/span 2}}.intl__tabs{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}@media (width>=900px){.intl__tabs{grid-template-columns:repeat(3,auto)}}.intl__tab{min-height:40px;color:var(--text-muted);font:500 .84375rem/1.2 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 12px}@media (width>=900px){.intl__tab{padding:6px 16px}}.intl__tab:hover{color:var(--text)}.intl__tab.is-active{background:var(--surface);border-color:var(--border-strong);color:var(--text);font-weight:600}.intl__bars{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.intl__bar-row{min-height:22px;color:var(--text-chart);grid-template-columns:104px minmax(0,1fr) 60px;align-items:center;gap:12px;font-size:.84375rem;display:grid}.intl__bar-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.intl__bar-track{height:14px;display:block}.intl__bar{background:var(--neutral-bar);border-radius:2px;height:100%;display:block}.intl__bar-value{text-align:right;font-variant-numeric:tabular-nums}.intl__bar-row.is-us{color:var(--today);font-weight:700}.intl__bar-row.is-us .intl__bar{background:var(--today)}@media (width>=900px){.intl__bar-row{grid-template-columns:112px minmax(0,1fr) 64px}}.calculator__grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}@media (width>=880px){.calculator__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start}}.income-source-trigger{anchor-name:--income-source;padding:2px 3px;font-size:.75rem;font-weight:600;text-decoration:none}.calc-form{flex-direction:column;gap:28px;display:flex}.field{border:0;min-width:0;margin:0;padding:0}.field label,.field legend,.field__label{margin-bottom:8px;padding:0;font-size:.9375rem;font-weight:600;display:block}.field--compact label{color:var(--text-muted);font-size:.875rem;font-weight:500}.field__help{color:var(--text-muted);margin-top:8px;font-size:.84375rem;font-weight:400;line-height:1.5}.money-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;transition:border-color .15s;display:flex}.money-input:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 20%, transparent)}.money-input__prefix,.money-input__suffix{color:var(--text-muted);padding:0 4px 0 14px;font-size:1rem}.money-input__suffix{padding:0 14px 0 4px;font-size:.875rem}.money-input input{min-width:0;color:var(--text);font:500 1.0625rem var(--font-sans);font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:12px 14px 12px 2px}.money-input input:focus{outline:none}.range{width:100%;accent-color:var(--m4a);margin:14px 0 0}.stepper{border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:var(--bg);width:48px;height:46px;color:var(--text);cursor:pointer;border:0;font-size:1.25rem}.stepper button:hover:not(:disabled){background:var(--surface-muted)}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:56px;font-size:1.0625rem;font-weight:600}.exact{border:1px solid var(--border);border-radius:var(--radius-sm);gap:12px;padding:16px;display:grid}.exact__title{font-size:.9375rem;font-weight:600}.exact__grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.exact .link-button{justify-self:start}.calc-form__customize{border-top:1px solid var(--rule);padding-top:12px}.result{flex-direction:column;gap:28px;display:flex}.result__headline{color:var(--text);font-size:1.0625rem;font-weight:600}.result__amount{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:clamp(3.25rem,7.5vw,4.75rem);font-weight:700;line-height:1;display:block}.result__headline.is-saving .result__amount{color:var(--m4a)}.result__headline.is-more .result__amount{color:var(--today)}.result__unit{font-family:var(--font-sans);letter-spacing:0;color:var(--text);font-size:1.25rem;font-weight:600}.result__amount--same{font-size:clamp(1.75rem,4vw,2.25rem)}.result__monthly{color:var(--text-muted);margin-top:8px;font-size:.9375rem}.result__eyebrow{color:var(--text);font-size:.875rem;font-weight:600}.bars{gap:20px;display:grid}.bar-row__head{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:.9375rem;display:flex}.bar-row__head strong{flex-shrink:0}.bar-row--m4a .bar-row__head strong{color:var(--m4a)}.bar-track{background:var(--surface-muted);border-radius:4px;gap:2px;height:22px;display:flex;overflow:hidden}.bar{height:100%;transition:width .3s}.bar--premium{background:var(--today)}.bar--oop{background:var(--today-soft)}.bar--m4a{background:var(--m4a)}.legend{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 20px;margin-top:8px;font-size:.8125rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.dot--premium{background:var(--today)}.dot--oop{background:var(--today-soft)}.result__benefit{border-radius:var(--radius-sm);background:var(--m4a-wash);padding:14px 16px;font-size:.9375rem}.result__assumptions{border-top:1px solid var(--rule);color:var(--text-muted);gap:4px;padding-top:16px;font-size:.84375rem;display:grid}.result__assumptions .link-button{text-align:left;justify-self:start}@media (width>=880px) and (height>=1000px){.calc-form{align-self:start;position:sticky;top:24px}}.result{scroll-margin-top:16px}.result-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-pop);color:var(--text);text-align:left;cursor:pointer;visibility:hidden;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:transform .2s,visibility 0s linear .2s;display:flex;position:fixed;transform:translateY(calc(100% + 24px))}.result-bar.is-visible{visibility:visible;transition:transform .2s,visibility;transform:none}.result-bar__text{font-size:.9375rem;font-weight:600;line-height:1.3}.result-bar__text strong{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:700}.result-bar__text.is-saving strong{color:var(--m4a)}.result-bar__text.is-more strong{color:var(--today)}.result-bar__icon{color:var(--icon-muted);flex:none}@media (width>=880px){.result-bar{display:none}}@media (prefers-reduced-motion:reduce){.result-bar,.result-bar.is-visible{transition:none}}.pa__rows{margin-top:24px;display:grid}.pa__row{grid-template-columns:minmax(0,1fr);gap:10px;padding:20px 0;display:grid}.pa__row:first-child{padding-top:0}.pa__row:last-child{padding-bottom:0}.pa__row+.pa__row{border-top:1px solid var(--rule)}.pa__row-head{font-size:.9375rem;font-weight:600;line-height:1.35}.pa__row--m4a .pa__row-head{color:var(--m4a)}.pa__row-body{flex-wrap:wrap;align-items:center;gap:10px 24px;min-width:0;display:flex}.pa__marks{flex:0 338px;grid-template-columns:repeat(13,minmax(0,20px));gap:6px;display:grid}.pa__marks svg{width:100%;height:auto;display:block}.pa__marks--today{color:var(--today)}.pa__marks--m4a{color:var(--m4a)}.pa__cut{fill:none;stroke:var(--surface)}.pa__value{color:var(--text-lede);font-size:.9375rem;line-height:1.4}.pa__value strong{font-family:var(--font-serif);color:var(--text);font-size:1.5rem;font-weight:600}.pa__per{margin-right:.3em;font-size:.875rem}.pa__payoff{max-width:40ch;font-family:var(--font-serif);text-wrap:balance;margin-top:clamp(28px,4vw,40px);font-size:clamp(1.25rem,2.4vw,1.5rem);font-weight:500;line-height:1.35}@media (width<=519px){.pa__desc{display:block}.pa__payoff{text-wrap:pretty;max-width:none}}@media (width>=720px){.pa__row{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:24px}}.method-dialog{border:1px solid var(--border);overscroll-behavior:contain;background:var(--surface);width:min(640px,100% - 32px);max-width:none;max-height:calc(100dvh - 48px);color:var(--text);border-radius:16px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 16px 64px #0003}.method-dialog::backdrop{background:#0f141c66}.method-dialog[open]{animation:.16s ease-out modal-appear}@keyframes modal-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.method-dialog[open]{animation:none}.bar{transition:none}}.method-dialog__inner{gap:22px;padding:28px 28px 32px;display:grid}.method-dialog__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.method-dialog__header h2{font-size:1.5rem;font-weight:600}.icon-button{border:1px solid var(--border);background:var(--surface-muted);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:.875rem}.method-lede{color:var(--text-muted);font-size:.9375rem}.method-section h3{margin-bottom:6px;font-size:1.0625rem;font-weight:600}.method-section p{color:var(--text-lede);font-size:.9375rem}.method-section ul{color:var(--text-muted);margin:0;padding-left:18px;font-size:.875rem}.method-section li+li{margin-top:6px}.method-summary{gap:4px;font-size:.875rem;display:grid}.method-version{color:var(--text-muted);font-size:.75rem}.ledger{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.ledger__title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:12px 14px 0;font-size:.75rem;font-weight:600}.ledger__row{justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 14px;display:flex}.ledger__row+.ledger__row{border-top:1px solid var(--rule)}.ledger__row--total{background:var(--surface-muted);font-weight:700}.ledger__label{font-size:.9375rem;font-weight:500;display:block}.ledger__math,.ledger__note{color:var(--text-muted);font-size:.8125rem;display:block}.ledger__note{margin-top:2px}.ledger__note summary{cursor:pointer;color:var(--accent)}.ledger__note p{margin-top:6px}.ledger__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tag{text-transform:uppercase;letter-spacing:.05em;background:var(--m4a-wash);color:var(--m4a);vertical-align:2px;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-block}.cite{vertical-align:super;margin-left:3px;font-size:.7rem;font-weight:600;text-decoration:none}.sources{gap:12px;margin:0;padding-left:18px;display:grid}.source{scroll-margin-top:16px;font-size:.875rem}.source:target{background:var(--m4a-wash);outline:6px solid var(--m4a-wash);border-radius:8px}.source__title{font-weight:600}.source__meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8125rem;display:flex}.source__details{color:var(--text-muted);margin-top:4px;font-size:.8125rem}.source__details summary{cursor:pointer;color:var(--accent)}.source__details ul{margin:6px 0}.badge{background:color-mix(in srgb, var(--today) 15%, transparent);color:var(--today);border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:600}@media (width<=640px){.method-dialog{border-radius:14px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.method-dialog__inner{padding:20px}.ledger__row{gap:10px}}.source-popover{border:1px solid var(--border-strong);background:var(--surface);width:min(340px,100vw - 32px);height:fit-content;max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow-pop);border-radius:10px;margin:auto;padding:16px;font-size:.875rem;position:fixed;inset:0;overflow-y:auto}.source-popover__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.source-popover__header .icon-button{width:28px;height:28px}.source-popover p{color:var(--text-muted);margin-bottom:10px}@supports (top:anchor(bottom)){.source-popover{inset:auto;top:calc(anchor(--income-source bottom) + 8px);left:clamp(16px, anchor(--income-source left), calc(100vw - 356px));position-try-fallbacks:flip-block;margin:0}}
