.tool [hidden]{display:none!important}.tool-hero{padding-top:clamp(2.5rem,1.5rem + 4vw,4.5rem);padding-bottom:1.5rem}.tool-hero h1{max-width:22ch;margin-bottom:1.1rem}.tool-lead{font-size:var(--t-lead);color:var(--ink-body);max-width:60ch}.crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin-bottom:1.25rem;font-size:var(--t-small)}.crumbs li+li:before{content:"/";margin-right:.35rem;color:var(--ink-mute)}.crumbs a{color:var(--ink-mute)}.crumbs a:hover{color:var(--ridge)}.tool-badges{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin-top:1.5rem;font-size:var(--t-small);color:var(--ink-mute)}.tool-badges li{position:relative;padding-left:1.1rem}.tool-badges li:before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.3rem;border-left:1.5px solid var(--ridge);border-bottom:1.5px solid var(--ridge);transform:rotate(-45deg)}.tool-calc-section{padding-block:1rem clamp(2.5rem,2rem + 3vw,4rem)}.calc-card{background:var(--ground-lift);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-lift);padding:clamp(1.25rem,1rem + 1.4vw,2rem)}.calc-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,1rem + 3vw,3rem);align-items:start}.calc-inputs{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.calc-group{border:0;min-width:0}.calc-legend{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.0625rem;margin-bottom:.85rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.field-wide{grid-column:1 / -1}.field>label:not(.check),.field-label{font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute)}.field-hint{font-size:var(--t-micro);color:var(--ink-mute);line-height:1.45}.control{display:flex;align-items:center;height:2.75rem;padding-inline:.75rem;background:var(--ground-lift);border:1px solid var(--line-strong);border-radius:var(--r-control);transition:border-color var(--t-micro-dur) var(--ease),box-shadow var(--t-micro-dur) var(--ease)}.control:focus-within{border-color:var(--ridge);box-shadow:0 0 0 3px var(--ridge-wash)}.control input,.control select{flex:1;min-width:0;width:100%;border:0;background:transparent;padding:0;font-size:1.0625rem;color:var(--ink)}.control input{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.control select{cursor:pointer;font-size:1rem}.control select option{background:var(--ground-lift);color:var(--ink)}.control input:focus,.control input:focus-visible,.control select:focus,.control select:focus-visible{outline:none}.adorn{color:var(--ink-mute);font-size:var(--t-small);white-space:nowrap;padding-left:.5rem}.adorn-lead{padding-left:0;padding-right:.4rem;font-family:var(--font-mono)}.seg{display:flex;flex-wrap:wrap;gap:.4rem}.seg label{display:inline-flex;align-items:center;padding:.45rem .85rem;min-height:2.5rem;border:1px solid var(--line-strong);border-radius:var(--r-control);font-size:var(--t-small);color:var(--ink-body);cursor:pointer;transition:border-color var(--t-micro-dur) var(--ease),background-color var(--t-micro-dur) var(--ease)}.seg input{position:absolute;opacity:0;width:1px;height:1px}.seg input:checked+label{border-color:var(--ridge);background:var(--ridge-wash);color:var(--ink);font-weight:500}.seg input:focus-visible+label{outline:2px solid var(--ridge);outline-offset:2px}.check{display:flex;align-items:flex-start;gap:.6rem;font-size:var(--t-small);color:var(--ink-body);cursor:pointer}.check input{margin-top:.3rem;accent-color:var(--ridge);width:1rem;height:1rem;flex-shrink:0}.calc-error{padding:.7rem .9rem;background:var(--overspent-wash);color:var(--overspent);border:1px solid color-mix(in srgb,var(--overspent) 30%,transparent);border-radius:var(--r-control);font-size:var(--t-small)}.calc-results{position:sticky;top:5.5rem;background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(1.1rem,1rem + .8vw,1.5rem);min-width:0}.calc-results[data-invalid]>:not(.calc-error){opacity:.45}.result-eyebrow{font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}.result-big{font-family:var(--font-display);font-weight:600;font-size:clamp(2.1rem,1.6rem + 2.2vw,2.85rem);line-height:1.05;color:var(--ridge);letter-spacing:-.02em;margin-top:.25rem;overflow-wrap:anywhere}.result-big.is-over{color:var(--overspent)}.result-note{color:var(--ink-body);font-size:var(--t-small);margin-top:.4rem}.result-rows{margin-top:1.1rem;border-top:1px solid var(--line)}.result-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}.result-row dt{color:var(--ink-body)}.result-row dd{color:var(--ink);font-weight:600;text-align:right}.result-row.is-total dt,.result-row.is-total dd{color:var(--ink);font-weight:600}.result-callout{margin-top:1.1rem;padding:.85rem 1rem;background:var(--ridge-wash);color:var(--ridge-deep);border-radius:var(--r-control);font-size:var(--t-small)}.result-callout[hidden],.result-row[hidden]{display:none}.result-soft{margin-top:.85rem;font-size:var(--t-small);color:var(--ink-body)}.bars{display:flex;flex-direction:column;gap:.85rem;margin-top:1.25rem}.bar-row{display:grid;grid-template-columns:4.5rem 1fr auto;align-items:center;gap:.75rem;font-size:var(--t-small)}.bar-name{color:var(--ink-body);font-weight:500}.bar-track{height:.7rem;background:var(--ground-sunk);border-radius:var(--r-pill);overflow:hidden}.bar-fill{display:block;height:100%;width:0;background:var(--haze);border-radius:var(--r-pill);transition:width var(--t-settle) var(--ease)}.bar-fill.is-lead{background:var(--ridge)}.bar-val{color:var(--ink);font-weight:600}.calc-fine{margin-top:1rem;font-size:var(--t-micro);color:var(--ink-mute);line-height:1.5}.adv-toggle{display:inline-flex;align-items:center;gap:.5rem;background:none;border:0;padding:.2rem 0;color:var(--ridge);font-size:var(--t-small);font-weight:500;cursor:pointer}.adv-sign{position:relative;flex-shrink:0;width:1.1rem;height:1.1rem;border:1px solid var(--line-strong);border-radius:var(--r-pill)}.adv-sign:before,.adv-sign:after{content:"";position:absolute;top:50%;left:50%;background:var(--ridge)}.adv-sign:before{width:.5rem;height:1.5px;transform:translate(-50%,-50%)}.adv-sign:after{width:1.5px;height:.5rem;transform:translate(-50%,-50%);transition:transform var(--t-micro-dur) var(--ease)}.adv-toggle[aria-expanded=true] .adv-sign:after{transform:translate(-50%,-50%) scaleY(0)}.adv-panel{margin-top:1rem}.guide{border-top:1px solid var(--line)}.guide-alt{background:var(--ground-lift);border-block:1px solid var(--line)}.guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,1rem + 4vw,4.5rem);align-items:start}.guide-grid>*{min-width:0}.guide-grid>h2{max-width:16ch}.prose{color:var(--ink-body);max-width:68ch}.prose>*+*{margin-top:1rem}.prose h3{font-size:1.1875rem;margin-top:1.75rem}.prose ul,.prose ol{padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.prose strong{color:var(--ink)}.prose .lead{font-size:var(--t-lead)}.prose a:not(.btn){color:var(--ridge);font-weight:500;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ridge) 35%,transparent);text-underline-offset:.2em}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card)}.data-table{width:100%;border-collapse:collapse;font-size:var(--t-small)}.data-table caption{text-align:left;padding:.75rem 1rem;color:var(--ink-mute);font-size:var(--t-micro);caption-side:bottom}.data-table th,.data-table td{text-align:left;padding:.65rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}.data-table thead th{background:var(--ground-sunk);color:var(--ink);font-weight:600}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody th{font-weight:500;color:var(--ink)}.data-table .num{text-align:right;white-space:nowrap}.tool-faq-inner{max-width:800px}.tool-faq-inner>h2{margin-bottom:2rem}.tool-faq-item{background:var(--ground-lift);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:.875rem}.tool-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:1.25rem 1.5rem;list-style:none}.tool-faq-item summary::-webkit-details-marker{display:none}.tool-faq-item summary h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.tool-faq-sign{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ridge);border:1px solid var(--line);font-size:1rem;line-height:1;transition:transform var(--t-micro-dur) var(--ease)}.tool-faq-item[open] .tool-faq-sign{transform:rotate(45deg)}.tool-faq-item>p{padding:0 1.5rem 1.25rem;font-size:.9375rem;max-width:72ch}.tool-related{border-top:1px solid var(--line)}.tool-related h2{font-size:var(--t-h3);margin-bottom:1.25rem}.tool-related-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tool-related-card{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.1rem 1.25rem;background:var(--ground-lift);border:1px solid var(--line);border-radius:var(--r-card);transition:border-color var(--t-micro-dur) var(--ease)}.tool-related-card:hover{border-color:var(--ridge)}.tool-related-name{font-weight:600;color:var(--ink)}.tool-related-blurb{font-size:var(--t-small);color:var(--ink-mute)}.tool-closing{background:var(--ground-sunk)}.tool-closing-inner{text-align:center;padding-block:clamp(3rem,2rem + 5vw,5.5rem)}.tool-closing-inner h2{max-width:20ch;margin-inline:auto}.tool-closing-inner p{color:var(--ink-body);font-size:var(--t-lead);max-width:52ch;margin:1rem auto 2rem}.tool-closing-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media(prefers-reduced-motion:reduce){.adv-sign:after,.tool-faq-sign,.bar-fill{transition:none}}@media(max-width:900px){.calc-layout{grid-template-columns:1fr}.calc-results{position:static}.tool-related-grid{grid-template-columns:1fr}}@media(max-width:820px){.guide-grid{grid-template-columns:1fr;gap:1.25rem}}@media(max-width:420px){.fields{grid-template-columns:1fr}}
