:root{--ink:#14243a;--muted:#5c6979;--line:#dbe3e8;--paper:#fff;--wash:#f4f8f8;--accent:#087f72;--accent-dark:#05645b;--accent-soft:#e6f5f2;--warm:#f7b84b;--danger:#a53a3a;--shadow:0 12px 36px rgba(20,36,58,.08);--radius:16px;--max:1160px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.6}img,svg{max-width:100%}a{color:var(--accent-dark);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}:focus-visible{outline:3px solid rgba(8,127,114,.32)}[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:50}.skip-link:focus{left:8px}.shell{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20}.header-row{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-weight:780;text-decoration:none;letter-spacing:-.02em}.brand-mark{width:42px;height:42px;flex:0 0 auto}.nav{display:flex;align-items:center;gap:.25rem}.nav a{color:var(--ink);text-decoration:none;padding:.65rem .8rem;border-radius:10px;font-weight:650}.nav a:hover{background:var(--wash)}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .75rem;color:var(--ink)}
.hero{background:linear-gradient(180deg,#edf8f6 0,#fff 100%);padding:4.4rem 0 3.2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:3rem;align-items:center}.eyebrow{color:var(--accent-dark);font-weight:750;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem}.hero h1,.page-title{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.02;letter-spacing:-.055em;margin:.4rem 0 1rem;max-width:850px}.hero p{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--muted);max-width:690px}.search-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}.search-box label{font-weight:750;display:block;margin-bottom:.45rem}.search-box input{width:100%;height:52px;border:1px solid #aebdc5;border-radius:11px;padding:0 1rem}.search-box small{color:var(--muted)}.motif{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;max-width:360px;margin-left:auto}.motif span{aspect-ratio:1;border-radius:22px;display:grid;place-items:center;font-weight:800;font-size:clamp(2rem,6vw,4.6rem)}.motif .plus{background:var(--accent);color:#fff}.motif .equals{background:var(--ink);color:#fff}.motif .dot{background:var(--warm);color:var(--ink)}.motif .slash{border:2px solid var(--line);background:#fff;color:var(--accent-dark)}
.section{padding:4rem 0}.section.alt{background:var(--wash)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem}.section-heading h2,.content h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.035em;margin:0}.section-heading p,.lede{color:var(--muted);max-width:680px}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tool-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;background:#fff;box-shadow:0 6px 20px rgba(20,36,58,.04);display:flex;flex-direction:column;min-width:0}.tool-card:hover{border-color:#9acac3;box-shadow:var(--shadow)}.tool-card h3{margin:.35rem 0;font-size:1.12rem;line-height:1.3}.tool-card p{margin:.2rem 0 1rem;color:var(--muted);font-size:.95rem}.tool-card a{font-weight:700;margin-top:auto}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.category-block{border-top:4px solid var(--accent);background:#fff;padding:1.35rem;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow)}.category-block h2{margin:.15rem 0 .25rem}.category-block p{color:var(--muted);margin:.15rem 0 .8rem}.link-list{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.link-list a{display:block;padding:.45rem 0;font-weight:650}
.page-hero{padding:2.2rem 0 1.5rem;background:linear-gradient(180deg,var(--wash),#fff)}.breadcrumbs{font-size:.9rem;color:var(--muted);display:flex;gap:.4rem;flex-wrap:wrap}.breadcrumbs a{color:inherit}.page-title{font-size:clamp(2rem,4.5vw,3.55rem);margin-top:.7rem}.page-hero .lede{font-size:1.08rem;margin-bottom:0}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:1.5rem;align-items:start;padding:1.25rem 0 3rem}.calculator-card,.result-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);padding:clamp(1.1rem,3vw,2rem);min-width:0}.calculator-card{border-top:5px solid var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{min-width:0}.field.full{grid-column:1/-1}.field label,.field legend{display:block;font-weight:700;margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #a9b8c1;border-radius:10px;padding:.65rem .75rem;background:#fff;color:var(--ink)}.field textarea{min-height:94px;resize:vertical}.field small{display:block;color:var(--muted);margin-top:.3rem}.check-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.check{display:inline-flex;gap:.5rem;align-items:center;min-height:44px}.check input{width:20px;height:20px}.button-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}.button{min-height:46px;border:1px solid transparent;border-radius:11px;padding:.65rem 1rem;font-weight:750;cursor:pointer}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.quick-buttons{display:flex;gap:.45rem;flex-wrap:wrap;margin:.5rem 0}.quick-buttons button{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:.4rem .75rem;font-weight:700}.error{color:var(--danger);font-weight:650;min-height:1.6em;margin:.7rem 0 0}.result-card{background:var(--ink);color:#fff;position:sticky;top:92px;overflow-wrap:anywhere}.result-card .eyebrow{color:#8de2d5}.primary-result{font-size:clamp(1.8rem,4vw,3rem);line-height:1.15;font-weight:800;letter-spacing:-.04em;margin:.5rem 0 1rem}.result-list{margin:0;display:grid;gap:.65rem}.result-list div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.16)}.result-list dt{color:#bdc7d1}.result-list dd{margin:0;text-align:right;font-weight:700}.result-note{font-size:.88rem;color:#d1d8df}.result-card details{margin-top:.8rem}.compact-list{padding-left:1.1rem;max-height:220px;overflow:auto;font-size:.88rem}.result-card .button{margin-top:1rem;background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.title-row{display:flex;align-items:end;justify-content:space-between;gap:1rem}.save-control{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .9rem;color:var(--ink);font-weight:700;white-space:nowrap}.save-control[aria-pressed="true"]{background:var(--accent-soft);border-color:#97cfc7;color:var(--accent-dark)}.example-bar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:1.2rem;padding:.75rem 1rem;background:var(--wash);border-radius:12px;color:var(--muted)}.example-button,.text-button{border:0;background:transparent;color:var(--accent-dark);font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.25rem}.result-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem}.result-actions .button{font-size:.86rem;min-height:40px;margin:0;padding:.5rem .65rem}.result-actions .button:disabled{opacity:.42;cursor:not-allowed}.action-feedback{display:block;width:100%;min-height:1.3em;color:#9ee4d9;font-size:.84rem}.math-details{border-top:1px solid rgba(255,255,255,.16);padding-top:.6rem}.math-details summary{font-weight:750;cursor:pointer}.math-details p{color:#d7dee6;margin:.6rem 0}.compact-tools{padding:1.4rem 0;border-bottom:1px solid var(--line);background:#fff}.compact-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.compact-heading h2{margin:0;font-size:1.2rem}.compact-grid{display:flex;gap:.65rem;overflow:auto;padding-bottom:.25rem}.compact-tool{min-width:180px;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;text-decoration:none;background:var(--wash);display:grid}.compact-tool span{font-size:.82rem;color:var(--muted)}.history-settings,.history-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.history-list{display:grid;gap:.8rem;margin-top:1.2rem}.history-item{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.history-item h2{font-size:1.1rem;margin:0}.history-item p{font-size:1.05rem;margin:.35rem 0;color:var(--ink)}.history-item time{color:var(--muted);font-size:.85rem}.history-actions{margin-top:.7rem}.history-actions .button{min-height:40px;font-size:.88rem}.muted{color:var(--muted)}
.content{max-width:820px;padding-bottom:4rem}.content h2{margin-top:2.4rem}.content h3{margin-top:1.6rem}.content p,.content li{color:#3e4d5f}.content details{border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin:.65rem 0}.content summary{font-weight:750;cursor:pointer}.formula{background:var(--wash);border-left:4px solid var(--accent);padding:1rem;border-radius:0 10px 10px 0;overflow-wrap:anywhere}.notice{background:#fff8e7;border:1px solid #ead7a5;padding:.9rem 1rem;border-radius:12px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.related-grid a{border:1px solid var(--line);border-radius:12px;padding:1rem;font-weight:700;text-decoration:none}.hub-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}.hub-item{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.hub-item h2{font-size:1.25rem;margin:0}.hub-item p{color:var(--muted)}
.site-footer{background:#0d1b2d;color:#dae2ea;padding:3.5rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:2rem}.site-footer h2,.site-footer h3{color:#fff;margin-top:0}.site-footer h2{font-size:1.15rem}.site-footer h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.site-footer a{color:#dae2ea}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1rem;color:#aab6c2;font-size:.9rem}.search-empty{padding:1rem;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
@media(max-width:800px){.hero-grid,.calculator-layout{grid-template-columns:1fr}.motif{display:none}.result-card{position:static}.featured-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.menu-button{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav[data-open]{display:flex}.nav a{padding:.8rem}.header-row{position:relative}}
@media(max-width:560px){.shell{width:min(calc(100% - 1.25rem),var(--max))}.hero{padding:3rem 0 2.25rem}.featured-grid,.category-grid,.form-grid,.hub-list,.related-grid,.footer-grid{grid-template-columns:1fr}.section-heading,.title-row{align-items:flex-start;flex-direction:column}.section-heading p{margin:0}.save-control{align-self:flex-start}.field.full{grid-column:auto}.calculator-card,.result-card{border-radius:14px}.result-list div{display:block}.result-list dd{text-align:left;margin-top:.1rem}.section{padding:3rem 0}.brand span{font-size:.94rem}.brand-mark{width:38px;height:38px}.result-actions .button{flex:1 1 140px}.compact-grid{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.compact-tool{min-width:0}.compact-heading{align-items:flex-start}}
@media print{.site-header,.site-footer,.button-row,.quick-buttons,.breadcrumbs{display:none!important}.calculator-layout{display:block}.result-card{color:#000;background:#fff;box-shadow:none;border:2px solid #000;margin-top:1rem}.result-card .eyebrow,.result-list dt,.result-note{color:#333}.page-hero{padding-top:0}.content{max-width:none}}
.tax-treatment{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.advanced-panel{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.advanced-panel>summary{font-weight:750;cursor:pointer;min-height:44px;display:flex;align-items:center}.advanced-panel>.form-grid{margin-top:1rem}.budget-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:1.5rem;align-items:start;padding:1.25rem 0 3rem}.budget-editor h2{font-size:1.35rem;margin:1.5rem 0 .25rem}.budget-editor section:first-of-type h2{margin-top:0}.budget-result{position:sticky;top:92px;align-self:start}.budget-output{border-top:1px solid var(--line);padding-top:1.5rem;padding-bottom:3rem}.budget-output h2{margin-top:2rem}.budget-section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.budget-group{border:1px solid var(--line);border-radius:12px;margin:.7rem 0;background:#fff}.budget-group>summary{cursor:pointer;min-height:52px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:780}.budget-group>summary strong{font-size:.9rem;color:var(--accent-dark);text-align:right}.budget-rows{border-top:1px solid var(--line);padding:.8rem}.budget-row{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(110px,.7fr) minmax(145px,.9fr) minmax(130px,.8fr) auto;gap:.65rem;align-items:end;padding:.7rem 0;border-bottom:1px solid #edf1f3}.budget-row[data-income-row]{grid-template-columns:minmax(160px,1.4fr) minmax(110px,.7fr) minmax(145px,.9fr) auto}.budget-row .field label{font-size:.82rem}.budget-row .field input,.budget-row .field select{min-height:44px}.budget-row small{grid-column:1/-1;color:var(--muted);margin-top:-.5rem}.remove-row{border:0;background:transparent;color:var(--danger);text-decoration:underline;min-height:44px;cursor:pointer}.view-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:3px}.view-toggle button{border:0;background:transparent;color:#fff;padding:.35rem .65rem;border-radius:7px;cursor:pointer}.view-toggle button[aria-pressed="true"]{background:#fff;color:var(--ink);font-weight:750}.local-save{border-top:1px solid rgba(255,255,255,.16);margin-top:1rem;padding-top:1rem}.local-save small{display:block;color:#bdc7d1}.text-button.light{color:#9ee4d9;margin-top:.35rem}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.budget-summary div,.guideline-grid div{border:1px solid var(--line);border-radius:12px;padding:1rem;display:grid}.budget-summary dt{color:var(--muted)}.budget-summary dd{font-size:1.25rem;font-weight:780;margin:0}.bar-row{margin:1rem 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:1rem}.bar-row span{color:var(--muted)}.bar-track{height:12px;background:#e8efef;border-radius:999px;overflow:hidden;margin-top:.35rem}.bar-track span{display:block;height:100%;background:var(--accent);border-radius:inherit}.guideline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.guideline-grid span{font-size:1.6rem;font-weight:800}.guideline-grid small{color:var(--muted)}
@media(max-width:800px){.budget-layout{grid-template-columns:1fr}.budget-result{position:static}.budget-output{grid-column:auto}.budget-row,.budget-row[data-income-row]{grid-template-columns:1fr 1fr}.budget-row .compact-field{grid-column:1/-1}.budget-summary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.budget-row,.budget-row[data-income-row],.budget-summary,.guideline-grid{grid-template-columns:1fr}.budget-row small{margin-top:0}.budget-section-heading,.bar-row>div:first-child{align-items:flex-start;flex-direction:column}.budget-group>summary{align-items:flex-start}.budget-group>summary strong{text-align:left}}
.budget-result .primary-result{display:grid;gap:.15rem}.budget-result .primary-result small{font-size:clamp(1rem,2vw,1.25rem);font-weight:700;letter-spacing:0;color:#d1d8df}
