:root{--ink: #0f0e0c;--paper: #f4f1eb;--accent: #b84018;--g: #2b5b3c;--b: #1d3a6b;--p: #7a3b8f;--y: #9a6b00;--muted: #6b6760;--border: rgba(15, 14, 12, .12);--tag-bg: rgba(15, 14, 12, .06);--mono: "DM Mono", ui-monospace, monospace;--serif: "Literata", Georgia, serif;--disp: "Syne", system-ui, sans-serif;--radius: 8px;--shadow: 0 2px 12px rgba(15, 14, 12, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--paper);color:var(--ink);font-size:15px;line-height:1.72;min-height:100vh}.site-header{background:#fff;border-bottom:1.5px solid var(--border);position:sticky;top:0;z-index:100}.header-inner{max-width:1100px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-family:var(--disp);font-size:1.35rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.logo-accent{color:var(--accent)}.main-nav{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.main-nav a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;transition:.2s}.main-nav a:hover{color:var(--ink);border-color:var(--accent)}main{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 5rem}h1,h2,h3,h4{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(1.8rem,4vw,2.8rem)}h2{font-size:clamp(1.3rem,3vw,1.8rem);margin:2.5rem 0 1rem}h3{font-size:1.15rem;margin:1.75rem 0 .6rem}p{margin-bottom:1rem;max-width:70ch}a{color:var(--accent)}ul{margin:0 0 1rem 1.25rem}.hero{padding:2.5rem 0 2rem;border-bottom:2px solid var(--ink);margin-bottom:2.5rem}.hero-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.hero h1{margin-bottom:.75rem}.hero h1 em{font-style:normal;color:var(--accent)}.tagline{font-size:1rem;font-family:var(--mono);color:var(--g);border-left:3px solid var(--g);padding-left:.75rem;margin:.75rem 0 0;line-height:1.5}.section-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}.breadcrumbs{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:1.25rem}.breadcrumbs a{color:var(--b);text-decoration:underline}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:1.5rem 0}.tile-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px}.tile-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#0f0e0c33}.tile-name{font-family:var(--disp);font-size:15px;font-weight:700}.tile-desc{font-size:12px;color:var(--muted);font-family:var(--mono);line-height:1.45}.calc-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin:1.5rem 0}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.25rem}.form-group{display:flex;flex-direction:column}.form-group label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:.6rem .75rem;border:1.5px solid var(--border);border-radius:4px;font-family:var(--serif);font-size:16px;background:#fff;color:var(--ink);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.results-box{background:var(--ink);color:var(--paper);padding:1.5rem;border-radius:var(--radius);margin:1.5rem 0}.results-box h3{color:var(--paper);font-family:var(--disp);font-size:1.2rem;margin:0 0 1rem}.result-line{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--mono);font-size:13px}.result-line.total{border-top:2px solid var(--accent);border-bottom:none;margin-top:.5rem;padding-top:.75rem;font-weight:700;font-size:15px}.result-line .num{color:#a8e6cf;font-variant-numeric:tabular-nums}.results-note{font-family:var(--mono);font-size:11px;color:#f4f1eb8c;margin:.75rem 0 0}.data-table{width:100%;border-collapse:collapse;font-size:14px;margin:1rem 0;font-family:var(--mono)}.data-table th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1.5px solid var(--ink)}.data-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.data-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.total td{font-weight:700;border-top:1.5px solid var(--ink)}.callout{border-left:3px solid var(--accent);background:#c94a1e0d;padding:.85rem 1.1rem;margin:1.1rem 0;font-size:14px;line-height:1.6;border-radius:0 4px 4px 0}.callout strong{font-family:var(--disp);font-size:10px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:.2rem;color:var(--accent)}.site-footer{border-top:1.5px solid var(--border);padding:2rem 1.5rem}.disclaimer{max-width:1100px;margin:0 auto;color:var(--muted);font-size:.82rem;font-family:var(--mono);line-height:1.6}.over-limit{color:var(--accent)}.field-note{font-family:var(--mono);font-size:11px;color:var(--muted);margin:.35rem 0 0;line-height:1.4}.calc-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin:1.25rem 0 1rem}.btn-calculate{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:.02em;background:var(--accent);color:var(--paper);border:none;border-radius:4px;padding:.7rem 1.6rem;cursor:pointer}.btn-calculate:hover{filter:brightness(1.08)}.btn-calculate:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stale-note{font-family:var(--mono);font-size:12px;color:var(--accent)}.results-placeholder{border:1.5px dashed var(--border);border-radius:6px;padding:1.6rem;font-family:var(--mono);font-size:13px;color:var(--muted);text-align:center}.results-placeholder p{margin:0}.results-box.is-stale{opacity:.55}.quarter-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12.5px;margin:.5rem 0 1rem}.quarter-table th{text-align:left;font-weight:500;opacity:.7;padding:.35rem .5rem .35rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.quarter-table td{padding:.4rem .5rem .4rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.quarter-table th:last-child,.quarter-table td:last-child,.quarter-table th:nth-child(3),.quarter-table td:nth-child(3){text-align:right}.faq{border-top:1px solid var(--border);padding-top:.9rem;margin-top:1.1rem}.faq h3{margin:0 0 .4rem;font-size:1rem}.faq p{margin:0}.link-columns{columns:2;font-family:var(--mono);font-size:13px}.link-columns li{margin-bottom:.3rem;break-inside:avoid}.rule-list{margin:1.1rem 0 1.5rem}.rule-list dt{font-family:var(--disp);font-weight:700;font-size:.95rem;letter-spacing:-.01em;color:var(--ink);padding-top:.85rem;border-top:1px solid var(--border)}.rule-list dt:first-child{padding-top:0;border-top:none}.rule-list dd{margin:.3rem 0 .85rem;max-width:70ch;font-size:.94rem;line-height:1.68;color:var(--ink);font-variant-numeric:tabular-nums}.detail-list{list-style:none;margin:1rem 0 1.5rem}.detail-list li{padding:.85rem 0;border-top:1px solid var(--border);display:grid;gap:.25rem;max-width:74ch}.detail-list li:first-child{border-top:none;padding-top:.2rem}.detail-name{font-family:var(--disp);font-weight:700;font-size:.95rem;letter-spacing:-.01em;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.detail-body{font-size:.94rem;line-height:1.68;font-variant-numeric:tabular-nums}.pill{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:#c94a1e17;border-radius:3px;padding:.15rem .4rem;white-space:nowrap}.checklist{list-style:none;margin:.5rem 0 0;columns:2;column-gap:2rem}.checklist li{position:relative;padding-left:1.1rem;margin-bottom:.3rem;break-inside:avoid;font-size:.9rem;line-height:1.5}.checklist li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.deduction-group{margin-top:2.25rem}.deduction-group h2{scroll-margin-top:5rem}.group-lead{color:var(--muted);font-size:.93rem;margin-bottom:.4rem;max-width:70ch}main ul:not(.link-columns):not(.checklist):not(.detail-list):not(.tile-grid),main ol{margin:.75rem 0 1.25rem 1.15rem;max-width:72ch}main ul:not(.link-columns):not(.checklist):not(.detail-list):not(.tile-grid) li,main ol li{margin-bottom:.4rem;line-height:1.68}.callout ul{margin:.5rem 0 .2rem 1.05rem}.callout ul li{margin-bottom:.25rem}.callout p{margin-bottom:.4rem;max-width:70ch}@media(max-width:720px){.checklist{columns:1}}.accordion{margin:1rem 0 1.5rem;border-top:1px solid var(--border);max-width:74ch}.accordion details{border-bottom:1px solid var(--border)}.accordion summary{font-family:var(--disp);font-weight:700;font-size:.95rem;letter-spacing:-.01em;padding:.8rem 1.75rem .8rem 0;cursor:pointer;position:relative;list-style:none;transition:color .16s ease}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"";position:absolute;right:.35rem;top:50%;width:8px;height:8px;margin-top:-6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .2s ease,border-color .16s ease}.accordion details[open] summary:after{transform:rotate(-135deg);margin-top:-2px}.accordion summary:hover{color:var(--accent)}.accordion summary:hover:after{border-color:var(--accent)}.accordion summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}.accordion-body{padding:0 0 .9rem}.accordion-body p{margin-bottom:.5rem;font-size:.94rem}.accordion-body p:last-child{margin-bottom:0;font-family:var(--mono);font-size:13px}@media(prefers-reduced-motion:reduce){.accordion summary,.accordion summary:after{transition:none}}.source-list{list-style:none;margin:1rem 0 1.5rem;max-width:74ch}.source-list li{padding:.7rem 0;border-top:1px solid var(--border);display:grid;gap:.2rem}.source-list li:first-child{border-top:none}.source-claim{font-size:.93rem;line-height:1.6}.source-cite{font-family:var(--mono);font-size:12px;display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.source-cite a{color:var(--accent)}.person-block{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:1.1rem 0;background:#0f0e0c04}.person-block legend{display:flex;align-items:center;gap:.6rem;padding:0 .4rem}.person-name{font-family:var(--disp);font-weight:700;font-size:1rem;border:none;border-bottom:1.5px solid var(--border);background:transparent;padding:.15rem .2rem;width:11rem;color:var(--ink)}.person-name:focus-visible{outline:none;border-bottom-color:var(--accent)}.field-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:.8rem}.field-row>label,.income-line>label{display:flex;flex-direction:column;gap:.25rem;flex:1 1 11rem;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.field-row>label.check{flex-direction:row;align-items:center;gap:.4rem;flex:0 0 auto;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink)}.income-line>label.wide{flex:1 1 100%}.field-row input,.field-row select,.income-line input,.income-line select{font-family:var(--mono);font-size:14px;padding:.5rem .6rem;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--ink);text-transform:none;letter-spacing:0}.field-row input:focus-visible,.field-row select:focus-visible,.income-line input:focus-visible,.income-line select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.income-line{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:.8rem 0;border-top:1px solid var(--border)}.income-line .field-note{flex:1 1 100%;margin:0}.btn-secondary{font-family:var(--mono);font-size:12px;letter-spacing:.04em;background:transparent;color:var(--ink);border:1.5px solid var(--ink);border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background .16s ease,color .16s ease}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-link{font-family:var(--mono);font-size:11px;background:none;border:none;color:var(--muted);cursor:pointer;text-decoration:underline;padding:.3rem .2rem}.btn-link:hover{color:var(--accent)}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-notes{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem;line-height:1.6}.result-notes strong{font-family:var(--disp);font-size:10px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:.4rem;opacity:.75}.result-notes ul{margin:0 0 0 1.05rem}.result-notes li{margin-bottom:.4rem}@media(prefers-reduced-motion:reduce){.btn-secondary{transition:none}}@media(max-width:720px){.income-line>label,.field-row>label{flex:1 1 100%}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.5rem 0 1rem}.comparison-table{min-width:46rem;font-size:12.5px}.comparison-table th,.comparison-table td{white-space:nowrap}.comparison-table td:first-child{white-space:normal;min-width:9rem}.comparison-table .pill{margin-left:.4rem}.comparison-cards{display:none}.comparison-card{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:.8rem}.comparison-card.is-operating{border-color:#ffffff80}.comparison-card h4{font-family:var(--disp);font-size:.95rem;margin:0 0 .3rem;color:var(--paper)}.card-total{font-family:var(--mono);font-size:1.15rem;margin:0 0 .6rem}.card-total span{font-size:.72rem;opacity:.7}.comparison-card dl{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;font-family:var(--mono);font-size:12px;margin:0}.comparison-card dt{opacity:.75}.comparison-card dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.card-note{font-size:12px;line-height:1.5;margin:.6rem 0 0;opacity:.85}@media(max-width:900px){.table-scroll{display:none}.comparison-cards{display:block}}@media(max-width:720px){.header-inner{flex-direction:column;align-items:flex-start;gap:.6rem}.logo{font-size:1.1rem}.main-nav{gap:.55rem 1rem;width:100%}.main-nav a{font-size:11px;letter-spacing:.06em}.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table thead,.data-table tbody{display:table;width:100%;min-width:22rem}}@media(max-width:720px){main{padding:1.25rem 1rem 4rem}.hero{padding:1.75rem 0 1.25rem}.calc-panel{padding:1.25rem}.link-columns{columns:1}}.share-card{background:var(--accent);color:#fff;border-radius:var(--radius);padding:1.25rem 1.5rem;margin:1rem 0;text-align:center}.share-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin:0 0 .25rem}.share-figure{font-family:var(--disp);font-size:2.4rem;font-weight:800;line-height:1;margin:0}.share-sub{font-size:14px;opacity:.95;margin:.4rem 0 0}.share-card a{color:#fff}.methodology{border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0;padding:0 1rem}.methodology summary{cursor:pointer;padding:.85rem 0;font-weight:600;font-size:14px}.methodology p{font-size:14px;line-height:1.6;margin:0 0 .75rem}.methodology .src{color:var(--muted);font-size:12px}.ask-set{border:1.5px solid var(--border);border-radius:4px;padding:.75rem 1rem;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.ask-set legend{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 .4rem}.ask-check{display:inline-flex;align-items:center;gap:.4rem;font-size:14px}.email-subject{font-size:14px;margin-bottom:.5rem}.email-body{white-space:pre-wrap;font-family:var(--serif);font-size:15px;line-height:1.6;background:#fff;border:1px solid var(--border);border-radius:4px;padding:1rem;margin:.25rem 0 .75rem;overflow-x:auto}.btn-copy{font-family:var(--mono);font-size:12px;padding:.4rem .9rem;border:1.5px solid var(--accent);background:#fff;color:var(--accent);border-radius:4px;cursor:pointer}.btn-copy:hover{background:var(--accent);color:var(--paper)}.rate-bar-row{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:.6rem;padding:.35rem 0;font-family:var(--mono);font-size:12px}.rate-bar-label{color:#f4f1ebd9}.rate-bar-track{background:#ffffff1f;border-radius:3px;height:12px;overflow:hidden}.rate-bar-fill{display:block;height:100%;background:#a8e6cf;border-radius:3px}.rate-bar-row .num{color:#a8e6cf}.mode-toggle{display:inline-flex;border:1.5px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:1.25rem}.mode-toggle button{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:.55rem 1.1rem;background:#fff;color:var(--muted);border:none;cursor:pointer}.mode-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.rule-list{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.rule-item{border-left:3px solid var(--border);background:#fff;border-radius:0 6px 6px 0;padding:.75rem 1rem}.rule-item.ok{border-left-color:var(--g)}.rule-item.warning{border-left-color:var(--accent);background:#b840180d}.rule-item.action{border-left-color:var(--b)}.rule-item.info{border-left-color:var(--muted)}.rule-title{font-family:var(--disp);font-weight:700;font-size:14px;margin-bottom:.2rem}.rule-detail{font-size:14px;line-height:1.55;margin:0}
