:root{color-scheme:light;--color-ink: #121826;--color-muted: #5b6475;--color-paper: #f6f8fb;--color-panel: #ffffff;--color-line: #d9e0ea;--color-line-strong: #aeb9c8;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-accent-soft: #eff6ff;--color-success-soft: #ecfdf5;--color-error: #b42318;--color-focus: #f59e0b;--shadow-soft: 0 1.25rem 3.5rem rgb(15 23 42 / .1);--shadow-card: 0 .75rem 1.75rem rgb(15 23 42 / .08);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-ink);background:#f6f8fb;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgb(37 99 235 / .14),transparent 24rem),linear-gradient(180deg,#fff,#f6f8fb 44%,#eef3f8);line-height:1.5}a{color:var(--color-accent-strong)}a:focus-visible,button:focus-visible,input:focus-visible,.calculator-shell:focus-visible{outline:3px solid #d98b37;outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:1rem;z-index:10;padding:.6rem .8rem;border-radius:.7rem;background:var(--color-ink);color:#fff;font-weight:800;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}main{width:min(100% - 1.5rem,70rem);margin:0 auto;padding:2rem 0 4rem}.site-header,.site-footer{width:min(100% - 1.5rem,70rem);margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.site-logo{color:var(--color-ink);font-weight:800;letter-spacing:-.02em;text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.95rem}.site-nav a{color:var(--color-muted);font-weight:700;text-decoration:none}.site-nav a:hover{color:var(--color-accent-strong)}.hero{display:grid;gap:1rem;margin:1rem 0 2rem}.hero__content,.hero__note,.calculator-shell,.wizard{border:1px solid var(--color-line);border-radius:1.5rem;background:var(--color-panel);box-shadow:var(--shadow-soft)}.hero__content{position:relative;overflow:hidden;padding:clamp(1.5rem,5vw,3rem)}.hero__content:after{position:absolute;right:-5rem;bottom:-7rem;width:18rem;height:18rem;border-radius:999px;background:linear-gradient(135deg,#2563eb29,#14b8a61f);content:""}.hero__content h1,.calculator-shell h2,.wizard h3{margin:0;line-height:1.05}.hero__content h1{max-width:13ch;font-size:clamp(2.4rem,12vw,5rem);letter-spacing:-.06em}.hero__content p{max-width:42rem;color:var(--color-muted);font-size:1.08rem}.hero__note{align-self:end;padding:1.25rem;background:#ffffffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero__note h2{margin:0 0 .75rem;font-size:1rem}.hero__note ul{margin:0;padding-left:1.2rem;color:var(--color-muted)}.eyebrow{margin:0 0 .75rem;color:var(--color-accent-strong);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border:1px solid rgb(37 99 235 / .55);border-radius:999px;padding:.7rem 1rem;background:#fff;color:var(--color-accent-strong);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.button:hover:not([disabled]){border-color:var(--color-accent);box-shadow:0 .75rem 1.4rem #2563eb24;transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--color-accent),#14b8a6);color:#fff}.button--danger{border-color:#b4231859;color:var(--color-error)}.button--danger:hover:not([disabled]){border-color:var(--color-error);box-shadow:0 .75rem 1.4rem #b423181f}.button[disabled]{cursor:not-allowed;opacity:.55}.calculator-shell{background:#ffffffe6;padding:clamp(1rem,4vw,2rem)}.calculator-shell__intro{max-width:42rem;margin-bottom:1rem}.calculator-shell__intro p:not(.eyebrow){color:var(--color-muted)}.wizard{padding:clamp(1rem,4vw,1.5rem);border-color:#e7edf5;box-shadow:var(--shadow-card)}.wizard__progress{margin-bottom:1.25rem}.wizard__status{margin:0;border-radius:.9rem;color:#1e3a8a;font-weight:700}.wizard__status:not(:empty){border:1px solid #bfdbfe;padding:.75rem .9rem;background:var(--color-accent-soft)}.wizard__progress-text{display:flex;justify-content:space-between;gap:1rem;color:var(--color-muted);font-size:.95rem}.wizard__progress-bar{height:.5rem;margin-top:.5rem;overflow:hidden;border-radius:999px;background:#e8eef7}.wizard__progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),#14b8a6)}.wizard__description{color:var(--color-muted)}.wizard__form{display:grid;gap:1.1rem}.field-grid{display:grid;gap:1rem}.field{display:grid;gap:.45rem;min-width:0}.field label,.choice-group legend{font-weight:700}.field__hint,.choice__text,.completion-note,.step-notice{color:var(--color-muted);font-size:.95rem}.input-shell{position:relative;display:block}.field input{min-height:3rem;width:100%;border:1px solid var(--color-line-strong);border-radius:.95rem;padding:.75rem 4.1rem .75rem .9rem;background:#fff;color:var(--color-ink);font:inherit;font-weight:650;transition:border-color .16s ease,box-shadow .16s ease}.field input:hover{border-color:#8491a3}.field input::placeholder{color:#9aa5b5;font-weight:500}.input-shell__unit{position:absolute;top:50%;right:.85rem;color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;transform:translateY(-50%);pointer-events:none}.field input[aria-invalid=true]{border-color:var(--color-error);box-shadow:0 0 0 4px #b423181a}.field__error{color:var(--color-error);font-weight:700}.step-notice{margin:0;border:1px solid #bfdbfe;border-radius:1rem;padding:.9rem 1rem;background:var(--color-accent-soft);color:#1e3a8a;font-weight:700}.choice-group{margin:0;border:0;padding:0}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.85rem;margin-top:.75rem}.choice{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;border:1px solid var(--color-line);border-radius:1.1rem;padding:1rem;background:var(--color-paper);box-shadow:0 .35rem .9rem #0f172a0a;cursor:pointer;min-width:0;overflow-wrap:anywhere;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.choice:hover{border-color:#93c5fd;background:#fff;box-shadow:0 .75rem 1.5rem #0f172a14;transform:translateY(-1px)}.choice:has(input:focus-visible),.checklist-list label:has(input:focus-visible){border-color:var(--color-focus);box-shadow:0 0 0 3px #f59e0b40}.choice:has(input:checked){border-color:var(--color-accent);background:linear-gradient(180deg,#ffffff 0%,var(--color-accent-soft) 100%);box-shadow:0 0 0 3px #2563eb1f,0 .75rem 1.5rem #2563eb1a}.choice input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--color-accent)}.choice__label{display:block;font-weight:800;overflow-wrap:normal}.wizard__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding-top:.5rem}.wizard__actions .button{flex:1 1 10rem}.results{display:grid;gap:1.25rem}.results__header{max-width:44rem}.results__header h3{font-size:clamp(2rem,8vw,3.5rem);letter-spacing:-.05em}.results__intro{color:var(--color-muted);font-size:1.05rem}.scenario-glance{display:grid;gap:.9rem;border:1px solid #bfdbfe;border-radius:1.25rem;padding:clamp(1rem,4vw,1.3rem);background:linear-gradient(135deg,#eff6fff5,#ecfdf5db),#fff}.scenario-glance h4{margin:0;font-size:1.1rem}.scenario-glance__list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.scenario-glance__list li{display:grid;grid-template-columns:auto 1fr;gap:.55rem;min-width:0;color:var(--color-ink)}.scenario-glance__list li:before{width:.45rem;height:.45rem;margin-top:.58rem;border-radius:999px;background:var(--color-accent);content:""}.results-grid{display:grid;gap:1rem}.metric-card{display:grid;align-content:start;gap:.7rem;min-width:0;border:1px solid var(--color-line);border-radius:1.25rem;padding:clamp(1rem,4vw,1.25rem);background:#fff;box-shadow:0 .7rem 1.6rem #0f172a0f}.metric-card h4,.breakdown h4{margin:0;font-size:1rem}.metric-card__value{margin:0;color:var(--color-ink);font-size:clamp(2rem,9vw,3.2rem);font-weight:850;letter-spacing:-.06em;line-height:1}.metric-card__badge{width:fit-content;margin:0;border:1px solid var(--color-line);border-radius:999px;padding:.35rem .65rem;background:var(--color-paper);color:var(--color-ink);font-size:.85rem;font-weight:800}.metric-card__description{margin:0;color:var(--color-muted)}.info-disclosure{min-width:0;border-top:1px solid var(--color-line);padding-top:.35rem}.info-disclosure summary{width:fit-content;max-width:100%;color:var(--color-accent-strong);font-weight:800;cursor:pointer}.info-disclosure summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.info-disclosure p{margin:.65rem 0 0;color:var(--color-muted);font-size:.95rem}.context-links{display:flex;flex-wrap:wrap;gap:.35rem;font-weight:800}.threshold-list{display:grid;gap:.4rem;margin-top:.65rem}.threshold-item{display:grid;grid-template-columns:auto 1fr;gap:.2rem .5rem;align-items:baseline;min-width:0;padding:.15rem 0;font-size:.92rem}.threshold-item:before{width:.55rem;height:.55rem;border-radius:999px;background:var(--color-muted);content:""}.threshold-item strong{color:var(--color-ink);font-weight:800}.threshold-item span{grid-column:2;color:var(--color-muted)}.threshold-item--deficit strong{color:var(--color-error)}.threshold-item--deficit:before{background:var(--color-error)}.threshold-item--reduced strong,.threshold-item--moderate strong{color:#9a3412}.threshold-item--reduced:before,.threshold-item--moderate:before{background:#f97316}.threshold-item--wide strong{color:#166534}.threshold-item--wide:before{background:#16a34a}.metric-card--deficit{border-color:#b4231859}.metric-card--deficit .metric-card__badge{border-color:#b4231859;background:#fff1f1;color:var(--color-error)}.metric-card--reduced .metric-card__badge,.metric-card--moderate .metric-card__badge{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.metric-card--wide .metric-card__badge{border-color:#bbf7d0;background:var(--color-success-soft);color:#166534}.metric-card--reference .metric-card__badge{border-color:#bfdbfe;background:var(--color-accent-soft);color:#1e3a8a}.breakdown{border:1px solid var(--color-line);border-radius:1.25rem;padding:clamp(1rem,4vw,1.25rem);background:var(--color-paper)}.breakdown-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(6rem,auto);gap:0;margin:0}.breakdown-group{margin-top:1rem;border-top:1px solid var(--color-line);padding-top:1rem}.breakdown-group:first-of-type{margin-top:1rem}.breakdown-group__heading{margin:0 0 .35rem;color:var(--color-accent-strong);font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.breakdown-list__label,.breakdown-list__value{margin:0;padding:.55rem 0}.breakdown-list__label{color:var(--color-muted)}.breakdown-list__value{font-weight:850;text-align:right}.breakdown-list__label--total-expense,.breakdown-list__value--total-expense,.breakdown-list__label--result-deficit,.breakdown-list__value--result-deficit,.breakdown-list__label--result-reduced,.breakdown-list__value--result-reduced,.breakdown-list__label--result-moderate,.breakdown-list__value--result-moderate,.breakdown-list__label--result-wide,.breakdown-list__value--result-wide,.breakdown-list__label--result-neutral,.breakdown-list__value--result-neutral{margin-top:.35rem;border-top:1px solid var(--color-line-strong);padding-top:.85rem;color:var(--color-ink)}.breakdown-list__value--income,.breakdown-list__value--result-wide,.breakdown-list__value--result-moderate{color:#166534}.breakdown-list__value--result-reduced,.breakdown-list__value--expense,.breakdown-list__value--total-expense,.breakdown-list__value--result-deficit{color:#9a3412}.results__actions{border-top:1px solid var(--color-line);padding-top:1rem}.comparison{display:grid;gap:1rem;border:1px solid var(--color-line);border-radius:1.25rem;padding:clamp(1rem,4vw,1.25rem);background:#fff}.scenario-review{display:grid;gap:1rem;border:1px solid #bfdbfe;border-radius:1.25rem;padding:clamp(1rem,4vw,1.25rem);background:linear-gradient(135deg,#eff6ffeb,#fffffff0),#fff}.scenario-review h4{margin:0}.scenario-review__description{margin:0;color:var(--color-muted)}.comparison h4,.comparison h5{margin:0}.comparison__description,.comparison-results__note{margin:0;color:var(--color-muted)}.scenario-editor{display:grid;gap:.85rem}.scenario-editor__group{border:1px solid var(--color-line);border-radius:1rem;padding:.75rem .9rem;background:var(--color-paper)}.scenario-editor__group summary{color:var(--color-ink);font-weight:850;cursor:pointer}.scenario-editor__group summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.scenario-editor__content{display:grid;gap:.85rem;margin-top:.85rem}.scenario-editor__grid{display:grid;gap:.8rem}.scenario-editor__field label{font-size:.95rem}.comparison-results{display:grid;gap:.8rem;border-top:1px solid var(--color-line);padding-top:1rem}.comparison-table{width:100%;border-collapse:collapse}.comparison-table caption,.comparison-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.comparison-table tr{display:grid;gap:.35rem;border-top:1px solid var(--color-line);padding:.75rem 0}.comparison-table th,.comparison-table td{min-width:0;padding:0;color:var(--color-muted);text-align:left}.comparison-table tbody th{color:var(--color-ink);font-weight:850}.comparison-table__mobile-label{display:block;color:var(--color-muted);font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.site-footer{padding:0 0 2rem;color:var(--color-muted);font-size:.95rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.6rem 1rem}.content-page{display:grid;gap:1rem}.content-hero,.content-section{border:1px solid var(--color-line);border-radius:1.5rem;background:#ffffffeb;box-shadow:var(--shadow-card)}.content-hero{padding:clamp(1.5rem,5vw,3rem);overflow:hidden;background:linear-gradient(135deg,#eff6fff0,#fffffff5),#fff}.content-hero--methodology{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#ecfdf5)}.content-hero--checklist{border-color:#c7d2fe;background:linear-gradient(135deg,#eef2ff,#f0fdfa)}.content-hero--sources{border-color:#bae6fd;background:linear-gradient(135deg,#f0f9ff,#fefce8)}.content-hero--privacy{border-color:#bbf7d0;background:linear-gradient(135deg,#ecfdf5,#f8fafc)}.content-hero--legal{border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#f8fafc)}.content-section{padding:clamp(1rem,4vw,1.6rem)}.content-section--accent{border-color:#bfdbfe;background:radial-gradient(circle at top right,rgb(20 184 166 / .14),transparent 16rem),linear-gradient(135deg,#ffffff 0%,var(--color-accent-soft) 100%)}.content-hero h1,.content-section h2,.content-section h3{margin-top:0;line-height:1.1}.content-hero h1{max-width:16ch;font-size:clamp(2.2rem,10vw,4.5rem);letter-spacing:-.055em}.content-hero p,.content-section p,.content-section li{max-width:68ch}.content-hero p,.content-section p,.content-section li,.source-card dd{color:var(--color-muted)}.content-grid{display:grid;gap:1rem}.content-card,.source-card{border:1px solid var(--color-line);border-radius:1.1rem;padding:1rem;background:var(--color-paper)}.content-card--soft{background:#fff}.formula-grid{display:grid;gap:1rem}.formula-card{display:grid;gap:.55rem;border:1px solid rgb(37 99 235 / .18);border-radius:1.25rem;padding:1rem;background:#ffffffdb;box-shadow:0 .65rem 1.4rem #0f172a0d}.formula-card h3,.formula-card p{margin:0}.formula-card__icon{display:inline-grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:.85rem;background:linear-gradient(135deg,var(--color-accent),#14b8a6);color:#fff;font-weight:900}.formula-card__formula{width:fit-content;border-radius:999px;padding:.35rem .65rem;background:var(--color-accent-soft);color:#1e3a8a;font-weight:850}.checklist-tools{display:grid;gap:1rem;border-color:#c7d2fe;background:linear-gradient(135deg,#fff,#eef2ff)}.checklist-tools h2,.checklist-tools p{margin:0}.checklist-tools__actions{display:flex;flex-wrap:wrap;gap:.75rem}.checklist-status,.stage-label{font-weight:850}.stage-label{width:fit-content;margin:0 0 .65rem;border-radius:999px;padding:.32rem .65rem;background:var(--color-accent-soft);color:#1e3a8a;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.checklist-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.checklist-list label{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;border:1px solid var(--color-line);border-radius:1rem;padding:.8rem;background:var(--color-paper);color:var(--color-ink);cursor:pointer}.checklist-list label:has(input:checked){border-color:#bfdbfe;background:#fff}.checklist-list input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--color-accent)}.content-card h3,.source-card h3{margin:0 0 .5rem}.content-card ul,.content-card ol,.content-section ul,.content-section ol{padding-left:1.3rem}.source-card dl{display:grid;gap:.35rem;margin:0}.source-card dt{font-weight:850}.source-card dd{margin:0 0 .6rem}.notice-box{border:1px solid #bfdbfe;border-radius:1rem;padding:1rem;background:var(--color-accent-soft);color:#1e3a8a;font-weight:700}@media(min-width:48rem){main,.site-header,.site-footer{width:min(100% - 3rem,70rem)}.hero{grid-template-columns:minmax(0,1fr) 18rem;align-items:end}.field-grid,.results-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-tools{grid-template-columns:minmax(0,1fr) auto;align-items:center}.formula-grid,.scenario-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-table{table-layout:fixed}.comparison-table thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.comparison-table tr{display:table-row;border-top:0;padding:0}.comparison-table th,.comparison-table td{border-top:1px solid var(--color-line);padding:.75rem .6rem}.comparison-table thead th{border-top:0;border-bottom:1px solid var(--color-line-strong);color:var(--color-accent-strong);font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.comparison-table__mobile-label{display:none}.threshold-item{grid-template-columns:auto minmax(8rem,10rem) minmax(0,1fr)}.threshold-item span{grid-column:auto}.wizard__actions .button{flex:0 0 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.button:hover:not([disabled]),.choice:hover,.hero__content:after{transform:none}}@media print{body{background:#fff}.site-header,.site-footer,.skip-link,.checklist-tools__actions{display:none}main{width:100%;padding:0}.content-hero,.content-section{box-shadow:none;break-inside:avoid}}
