:root{--ink:#12362d;--muted:#4f6056;--paper:#f7f6f1;--white:#fff;--line:#dce2d8;--lime:#dbc78e;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:20px;line-height:1.65}a{color:inherit}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}.wrap{max-width:1280px;margin:0 auto;padding:0 44px}.topbar{height:100px;display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;font-size:28px;font-weight:750;letter-spacing:-1.3px}.brand-icon{font-size:21px;letter-spacing:-2px;background:var(--ink);color:var(--lime);height:36px;width:36px;display:grid;place-items:center;border-radius:8px;margin-right:12px}.brand-dot{color:#8a7441}.topbar nav{display:flex;gap:28px;margin-left:auto;font-size:18px}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}.preview{font-size:18px;text-transform:uppercase;letter-spacing:1px;border:1px solid #c9d3c3;padding:7px 10px;border-radius:4px}.hero{display:block;padding-top:34px;padding-bottom:30px}.eyebrow{font-size:18px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 15px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0}h1{font-size:clamp(44px,5.8vw,72px)}h2{font-size:41px}h3{font-size:1.375rem;font-weight:650;letter-spacing:-.4px;margin:0}.hero-copy{font-size:1.25rem;max-width:780px;color:#53645c;line-height:1.65;margin:16px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--ink);border-radius:5px;padding:12px 18px;text-decoration:none;font-size:18px;font-weight:600;line-height:1.4;background:#fff;color:var(--ink)}.primary{background:var(--ink);color:#fff}.primary:hover{background:#245044}.quiet{background:transparent;border-color:var(--line)}.small{padding:9px 12px;font-size:18px;white-space:nowrap;gap:4px}.calculator-section{background:#eaf0e5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:60px 0 64px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.export-actions{display:flex;gap:10px}.example-bar{border:1px solid #cdd8c5;border-radius:7px;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;margin-bottom:8px;background:#eef3ea}.example-bar strong{font-size:18px;display:block}.example-bar span{font-size:18px;color:var(--muted)}.example-buttons{display:flex;gap:4px}.example-buttons button{border:0;background:transparent;border-radius:5px;font-size:18px;padding:10px 14px;color:#54644f}.example-buttons button.active{background:#fff;box-shadow:0 1px 4px #12362d10;color:var(--ink)}.save-status{font-size:18px;color:#53684f;margin:0 0 22px 2px;min-height:17px}.calculator-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:start}.inputs{display:grid;gap:18px;min-width:0}.input-panel{background:#fff;border:1px solid #dbe3d6;border-radius:8px;padding:25px}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}.step{font-size:18px;background:#eef3e7;border:1px solid #d3dfc9;color:#5d7c47;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 17px}label{display:block;font-size:18px;font-weight:550;color:#52645a;min-width:0}.unit{float:right;font-weight:400;color:#61715f;font-size:18px}input,select{width:100%;min-width:0;background:#fff;border:1px solid #d9e0d6;border-radius:4px;color:var(--ink);padding:10px 11px;font-size:20px;margin-top:7px;height:43px}input:focus,select:focus{outline:2px solid #8a7441;outline-offset:1px}input:invalid{border-color:#ad4331}.hint{font-size:18px;line-height:1.65;color:#46584b;margin:14px 0 0}.subscription{border:1px solid #e0e6db;background:#fafbf6;border-radius:5px;margin-top:17px;padding:13px}.subscription-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.subscription-head input{background:transparent;border:0;padding:0;height:auto;font-size:18px;font-weight:600;margin:0;min-width:0}.remove{padding:2px 7px;border:0;background:transparent;font-size:1.375rem;line-height:1;color:#7a827a;flex-shrink:0}.row-fields{display:grid;grid-template-columns:1fr .75fr 1fr;gap:12px}.row-fields input,.row-fields select{height:37px;padding:7px;font-size:18px}.row-meta{font-size:18px;color:#5d6d59;margin:10px 0 0;line-height:1.55}.row-meta a{color:#507341}.row-warning{color:#9a4e21}.add-row{display:flex;gap:10px;margin-top:15px;align-items:center}.add-row select{margin:0;font-size:18px;height:38px;flex:1}.results{background:var(--ink);color:#fff;border-radius:8px;padding:29px;position:sticky;top:18px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.results-header .eyebrow{margin:0;color:#bbd3be;font-size:17px}.live-dot{font-size:17px;white-space:nowrap;color:#b6c9b6}.live-dot:before{content:'';display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-right:6px}.results h3{font-size:20px;color:#d4e1d6}.big-number{font-family:var(--serif);font-size:59px;letter-spacing:-2px;line-height:1.1;margin:14px 0 8px;overflow-wrap:anywhere}.result-subtitle{font-size:18px;color:#b4c9bc;margin:0}.cost-breakdown{border-top:1px solid #36564a;border-bottom:1px solid #36564a;margin:25px 0 17px;padding:14px 0;display:grid;gap:12px}.cost-breakdown div,.total-resource,.payback div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.cost-breakdown dt{color:#bbcfbf;font-size:18px}.cost-breakdown dd{margin:0;font-size:18px;font-variant-numeric:tabular-nums}.total-resource span{font-size:18px}.total-resource strong{font-size:1.375rem;letter-spacing:-.5px}.results .hint{color:#c4d7c6;font-size:18px;margin:10px 0 0}.value-card{background:#244739;border:1px solid #3b5b48;border-radius:6px;padding:18px;margin:22px 0;display:grid;gap:5px}.value-card .eyebrow{color:#c2d9ba;font-size:17px;margin:0}.value-card strong{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--lime);letter-spacing:-1px}.value-card>span:last-child{font-size:18px;color:#bad1b8}.net-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.net-grid span{display:block;font-size:18px;color:#c6d5ca;margin-bottom:5px}.net-grid strong{font-size:21px;letter-spacing:-.7px}.positive{color:var(--lime)}.negative{color:#ffcabb}.break-even{border-top:1px solid #36564a;margin-top:23px;padding-top:21px}.break-even>span{font-size:18px;color:#bdcebf;display:block}.break-even strong{display:block;font-family:var(--serif);font-size:29px;font-weight:400;letter-spacing:-.6px;margin-top:6px}.break-even p{font-size:18px;color:#c4d7c6;margin:5px 0}.payback{display:grid;gap:9px;margin-top:21px;font-size:18px;color:#c4d3c5}.payback dd{margin:0;max-width:65%;text-align:right}.sensitivity{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;margin-top:42px;border-top:1px solid #cdd8c5;padding-top:30px}.sensitivity .eyebrow{margin-bottom:9px}.sensitivity p{font-size:18px;color:#65725f;line-height:1.7;max-width:380px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:18px}th{font-size:18px;color:#465a42;font-weight:500;white-space:nowrap}td,th{padding:12px 9px;border-bottom:1px solid #ccd8c5}td:last-child{text-align:right;font-weight:650}th:last-child{text-align:right}.base-case{background:#f5f8ee}.sources-section{padding-top:68px;padding-bottom:62px}.sources-section .section-heading>p{font-size:18px;color:var(--muted);max-width:380px;margin:0}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.source-card{border:1px solid var(--line);border-radius:6px;background:#fff;padding:21px;display:flex;flex-direction:column}.source-card .vendor{font-size:18px;text-transform:uppercase;letter-spacing:1px;color:#75856d}.source-card h3{font-size:1.25rem;margin:8px 0 12px}.source-card .price{font-size:27px;letter-spacing:-1px;font-family:var(--serif)}.source-card .price span{font-family:var(--sans);font-size:18px;letter-spacing:0;color:var(--muted)}.source-card p{font-size:18px;color:var(--muted);line-height:1.65;flex:1}.source-card a{font-size:18px;font-weight:600;text-decoration:none;margin-top:13px}.source-card small{font-size:17px;color:#5e7057;display:block;margin-top:7px}.source-footnote{font-size:18px;color:var(--muted);line-height:1.8;padding:19px 0;border-bottom:1px solid var(--line);margin-top:12px}.methodology{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:15px;padding-bottom:72px}.methodology h2{font-size:36px}.methodology>div>p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.8;max-width:400px;margin:22px 0}.text-link{font-size:18px;font-weight:600}.method-notes details{border-bottom:1px solid var(--line);padding:17px 0}.method-notes details:first-child{padding-top:0}.method-notes summary{font-size:18px;font-weight:600;cursor:pointer}.method-notes p{font-size:18px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--line);height:94px;display:flex;align-items:center;gap:35px}footer .brand{font-size:21px}footer span{font-size:18px;color:var(--muted)}footer>span:last-child{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:15px;top:-100px;padding:10px;background:var(--ink);color:#fff;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #8a7441;outline-offset:4px}@media(max-width:1000px){.wrap{padding-left:26px;padding-right:26px}.hero{gap:35px}.topbar{gap:20px}.topbar nav{gap:18px}.calculator-grid{gap:18px}.input-panel{padding:20px}.results{padding:23px}.big-number{font-size:50px}.source-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start}.sensitivity{grid-template-columns:1fr;gap:10px}.methodology{gap:40px}}@media(max-width:760px){.topbar{height:auto;min-height:80px;flex-wrap:wrap;gap:4px 20px;padding-top:14px;padding-bottom:8px}.topbar nav{display:flex;flex-basis:100%;flex-wrap:wrap;gap:4px 24px;margin-left:0}.topbar nav a{display:inline-flex;align-items:center;min-height:44px}.preview{margin-left:auto;font-size:17px}.brand{font-size:25px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:42px}h1{font-size:54px}.hero-copy{font-size:20px}.calculator-section{padding-top:37px}.section-heading{flex-direction:column;gap:21px;margin-bottom:25px}h2{font-size:34px}.calculator-grid{grid-template-columns:1fr}.results{position:static}.example-bar{align-items:start;flex-direction:column;gap:14px;padding:14px}.example-buttons{flex-wrap:wrap}.example-buttons button{padding:8px 10px}.source-grid{grid-template-columns:1fr 1fr}.methodology{grid-template-columns:1fr;gap:28px}.sources-section{padding-top:45px}.sources-section .section-heading>p{max-width:100%}.net-grid strong{font-size:24px}.big-number{font-size:60px}footer{height:auto;padding-top:25px;padding-bottom:25px;flex-wrap:wrap;gap:14px}footer>span:last-child{margin-left:0}}@media(max-width:440px){.wrap{padding-left:18px;padding-right:18px}h1{font-size:45px}.preview{font-size:17px;padding:6px}.source-grid{grid-template-columns:1fr}.field-grid{gap:18px 12px}.field-grid label{font-size:18px}.unit{float:none;display:block;margin-top:3px}.input-panel{padding:20px 15px}.row-fields{gap:9px}.row-fields label{font-size:17px}.add-row{flex-wrap:wrap}.export-actions{gap:7px}.export-actions .button{font-size:18px;padding:11px 12px}.results{padding:24px 20px}.results-header{flex-wrap:wrap}.example-buttons button{font-size:18px}.subscription{padding:11px}.brand-icon{margin-right:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Decision tools and readable budget summaries. */
[hidden]{display:none!important}button:disabled{opacity:.45;cursor:not-allowed}.export-actions{flex-wrap:wrap;justify-content:flex-end}.proposal-panel{display:grid;gap:15px}.proposal-panel label{font-size:18px}.proposal-panel .hint{margin:0}.field-grid label{font-size:18px}.unit{font-size:18px}.hint{font-size:18px}.row-meta{font-size:18px}.rate-status{display:block;margin:7px 0 3px;font-weight:600}.unit-select{max-width:220px;margin-top:12px}.validation-status{background:#fff4ed;border:1px solid #b56343;border-radius:6px;color:#73341d;padding:15px 18px;font-size:18px;line-height:1.7;margin:0 0 20px}input[aria-invalid=true]{outline:2px solid #ad4331;outline-offset:1px}.stale-results{opacity:.65}.results{position:static}.cash-timing{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:23px;background:#244739;border-radius:5px;padding:14px}.cash-timing span{display:block;color:#c6d5ca;font-size:18px;margin-bottom:5px}.cash-timing strong{font-size:1.375rem;font-variant-numeric:tabular-nums}.interpretation{font-size:18px;line-height:1.8;color:#d4e1d6;border-left:2px solid #dbc78e;padding-left:13px;margin-top:24px}.decision-tools{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:32px;background:#fff;border:1px solid #ccd8c5;border-radius:8px;margin-top:32px}.decision-tools .eyebrow{margin-bottom:9px}.decision-tools p:not(.eyebrow){font-size:18px;line-height:1.8;color:#46584b;max-width:620px;margin:12px 0 0}.comparison-actions{display:grid;gap:9px;justify-items:stretch}.decision-tools #comparison-section{grid-column:1/-1;min-width:0}.comparison-caption{margin-bottom:15px!important;font-weight:600}.decision-tools table{min-width:570px}.decision-tools th[scope=row]{font-size:18px;color:var(--ink);white-space:normal;font-weight:550}.decision-tools td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.decision-tools thead th:not(:first-child){text-align:right}.invoice-section{border:1px solid #cdd8c5;border-radius:7px;margin-top:20px;background:#f0f4ec;padding:19px 25px}.invoice-section summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:18px}.invoice-section summary strong{font-size:18px}.invoice-section .table-scroll{margin-top:13px}.invoice-section table{min-width:600px}.invoice-section th[scope=row]{color:var(--ink);font-weight:600}.invoice-section td{font-variant-numeric:tabular-nums;text-align:right}.invoice-section thead th:not(:first-child){text-align:right}.freshness{background:#eef3e7;padding:5px 7px;border-radius:3px;align-self:start}.decision-brief{display:none}@media(max-width:1000px){.section-heading{flex-wrap:wrap}.export-actions{justify-content:flex-start}.decision-tools{padding:24px;grid-template-columns:1fr}.comparison-actions{display:flex;flex-wrap:wrap}.decision-tools #comparison-section{grid-column:1}}@media(max-width:760px){.invoice-section summary{flex-direction:column;gap:6px}.decision-tools{padding:22px}.cash-timing strong{font-size:22px}.export-actions{width:100%}.calculator-section .section-heading h2{font-size:33px}}@media(max-width:440px){.field-grid label{font-size:18px}.hint{font-size:18px}.cash-timing{gap:12px}.cash-timing strong{font-size:20px}.row-fields{grid-template-columns:1fr 1fr}.row-fields label:last-child{grid-column:1/-1}.row-fields label{font-size:18px}.decision-tools{padding:20px 16px}.comparison-actions{display:grid}.invoice-section{padding:17px}}
@media print{
  @page{size:auto;margin:17mm}html{scroll-behavior:auto}body{background:#fff;color:#111;font-family:Arial,sans-serif;font-size:11.5pt;line-height:1.5}body>header,body>main,body>footer,body>.skip,body>noscript{display:none!important}.decision-brief{display:block!important;max-width:none}.decision-brief header{display:flex;justify-content:space-between;border-bottom:2px solid #12362d;padding-bottom:10pt;margin-bottom:18pt}.decision-brief header strong{font-size:22pt}.decision-brief header span{font-size:10.5pt;align-self:end}.decision-brief h2{font-family:Georgia,serif;font-size:19pt;line-height:1.2;letter-spacing:-.5pt;margin:18pt 0 7pt}.decision-brief h3{font-size:11pt;margin:13pt 0 5pt;break-after:avoid}.decision-brief p{margin:6pt 0 10pt}.decision-brief .brief-basis{font-weight:600;color:#333}.decision-brief table{font-size:10.5pt;margin:9pt 0 13pt}.decision-brief td,.decision-brief th{border-bottom:1px solid #ccc;padding:5pt 7pt;color:#111;font-size:10.5pt;white-space:normal}.decision-brief tbody th{font-weight:500}.decision-brief td{text-align:right}.decision-brief thead{display:table-header-group}.decision-brief tr,.brief-tool{break-inside:avoid}.decision-brief a{color:#111;overflow-wrap:anywhere}.brief-tool{border-left:2px solid #aaa;padding-left:10pt;margin:12pt 0}.brief-tool p{font-size:10.5pt;margin:4pt 0}.brief-footnote{border-top:1px solid #ccc;padding-top:10pt;font-size:10pt;color:#555}
}
/* Optional workflow evidence stays beside the value assumptions. */
textarea{font:inherit;width:100%;min-width:0;max-width:100%;resize:vertical;border:1px solid #d9e0d6;background:#fff;color:var(--ink);border-radius:4px;padding:10px 11px;margin-top:7px;font-size:18px;line-height:1.6}textarea:focus{outline:2px solid #8a7441;outline-offset:1px}.workflow-builder{border:1px solid #d6e0cd;border-radius:5px;background:#f5f8f0;padding:14px 16px;margin-bottom:23px}.workflow-builder summary{cursor:pointer;font-size:18px;font-weight:650}.workflow-builder[open] summary{margin-bottom:12px}.workflow-builder>label{font-size:18px;margin-top:14px}.workflow-builder .field-grid{margin-top:15px}.workflow-builder label{font-size:18px}.workflow-builder .hint{font-size:18px}.workflow-estimate{font-size:18px;line-height:1.7;font-weight:600;margin:15px 0 11px}.workflow-applied{font-size:18px;line-height:1.8;border-top:1px solid #ccd8c5;margin:15px 0 0;padding-top:12px;color:#52664c}.value-card .rollout-caption{font-size:18px;line-height:1.75;margin-top:7px;padding-top:10px;border-top:1px solid #3b5b48;color:#b5cdb4}.rollout-section td{text-align:right}.rollout-section .table-scroll{margin-top:15px}

/* Readable controls and generous spacing at every screen width. */
@media screen{
  .wrap{max-width:1360px}.topbar{height:auto;min-height:80px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;gap:24px}.topbar nav{flex-wrap:wrap;gap:20px}.preview{white-space:normal}.hero-copy{max-width:650px}.button{font-size:18px;min-height:48px;padding:12px 19px;gap:12px;white-space:normal;text-align:center}.small{font-size:18px;min-height:46px}.export-actions .button{font-size:18px;padding:12px 18px}.example-bar{gap:20px;flex-wrap:wrap}.example-buttons{flex-wrap:wrap;gap:8px}.example-buttons button{font-size:18px;min-height:44px;padding:10px 14px}.save-status{font-size:18px;line-height:1.65;margin-bottom:26px}.inputs{gap:24px}.input-panel{padding:28px}.panel-heading{gap:14px;margin-bottom:25px}.step{width:32px;height:32px;font-size:18px}.field-grid{gap:24px 20px;align-items:end}label,.field-grid label,.proposal-panel label,.row-fields label,.workflow-builder label,.workflow-builder>label{font-size:18px;line-height:1.5;color:#3f5549}.unit{font-size:17px;float:none;display:inline-block;margin-left:5px;line-height:1.5}input,select,textarea{font-size:20px;line-height:1.5}input,select{height:50px;padding:10px 12px;margin-top:9px}.subscription{padding:18px;margin-top:22px}.subscription-head{gap:12px;margin-bottom:17px}.subscription-head input{font-size:20px;line-height:1.5;min-height:42px}.remove{font-size:26px;min-width:44px;min-height:44px;padding:5px}.row-fields{gap:16px;align-items:end}.row-fields input,.row-fields select{height:48px;font-size:20px;padding:8px 10px}.row-meta{font-size:18px;line-height:1.75;margin-top:15px}.hint,.workflow-builder .hint{font-size:18px;line-height:1.75;margin-top:17px}.add-row{flex-wrap:wrap;gap:12px}.add-row select{height:50px;font-size:18px;flex-basis:260px}.unit-select{max-width:280px}.workflow-builder{padding:20px;margin-bottom:28px}.workflow-builder summary{font-size:18px;line-height:1.6}.workflow-builder>label{margin-top:18px}.workflow-builder .field-grid{margin-top:20px}.workflow-estimate,.workflow-applied{font-size:18px;line-height:1.75}.results{padding:32px}.results-header{flex-wrap:wrap;align-items:start;gap:12px}.results-header .eyebrow,.live-dot{font-size:17px;line-height:1.5;white-space:normal}.results h3{font-size:1.375rem}.result-subtitle,.results .hint,.cost-breakdown dt,.cash-timing span,.net-grid span,.break-even>span,.break-even p,.payback,.value-card>span:last-child,.value-card .rollout-caption{font-size:18px;line-height:1.65}.cost-breakdown{gap:17px;padding:20px 0}.cost-breakdown dd{font-size:20px;flex-shrink:0}.cost-breakdown dt{max-width:70%}.total-resource{flex-wrap:wrap}.total-resource span{font-size:18px}.total-resource strong{font-size:1.5rem}.value-card{padding:22px;gap:8px}.value-card .eyebrow{font-size:17px}.value-card strong{font-size:34px}.cash-timing{gap:20px;padding:18px}.cash-timing strong{font-size:1.5rem;overflow-wrap:anywhere}.net-grid{gap:24px}.net-grid strong{font-size:1.625rem;overflow-wrap:anywhere}.interpretation{font-size:18px;line-height:1.75;padding-left:17px}.payback{gap:16px}.payback dd{max-width:60%}.break-even strong{font-size:32px}.decision-tools p:not(.eyebrow),.sensitivity p,.sources-section .section-heading>p,.source-card p,.source-footnote,.methodology>div>p:not(.eyebrow),.method-notes p{font-size:18px;line-height:1.75}.decision-tools p:not(.eyebrow){max-width:730px}.sensitivity p{max-width:500px}.invoice-section summary,.invoice-section summary strong,.method-notes summary{font-size:18px;line-height:1.65}.invoice-section summary{align-items:start}.source-card{padding:25px}.source-card h3{font-size:1.375rem;line-height:1.4}.source-card .vendor,.source-card .price span,.source-card small{font-size:17px;line-height:1.65}.source-card .price{line-height:1.5}.source-card a,.text-link{font-size:18px;line-height:1.65}.source-card small{margin-top:12px}.freshness{padding:7px 9px}.source-footnote{padding:24px 0}.method-notes details{padding:23px 0}.methodology>div>p:not(.eyebrow){max-width:580px}table{font-size:18px;line-height:1.6}th,.decision-tools th[scope=row]{font-size:18px;line-height:1.5;white-space:normal}td,th{padding:15px 12px}.decision-tools table{min-width:730px}.invoice-section table{min-width:780px}footer{height:auto;min-height:110px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px}footer span{font-size:18px;line-height:1.65}
}
@media screen and (max-width:1100px){
  .calculator-grid{grid-template-columns:minmax(0,1fr)}.results{max-width:none}.section-heading{flex-wrap:wrap;align-items:start}.sensitivity{grid-template-columns:1fr;gap:18px}.decision-tools{grid-template-columns:1fr}.decision-tools #comparison-section{grid-column:1}.comparison-actions{display:flex;flex-wrap:wrap}.export-actions{justify-content:flex-start}
}
@media screen and (max-width:600px){
  .field-grid,.row-fields,.net-grid,.cash-timing{grid-template-columns:minmax(0,1fr)}.row-fields label:last-child{grid-column:auto}.source-grid{grid-template-columns:minmax(0,1fr)}.input-panel,.results{padding:24px 20px}.unit{display:inline-block;margin:0 0 0 5px}.topbar{gap:15px}.preview{font-size:17px;margin-left:0}.example-bar{padding:18px}.example-buttons{width:100%}.example-buttons button{flex:1;min-width:140px}.workflow-builder{padding:18px 15px}.subscription{padding:15px}.subscription-head input{font-size:18px}.cash-timing,.net-grid{gap:18px}.big-number{font-size:54px}.decision-tools{padding:24px 18px}.comparison-actions{display:grid;width:100%}.export-actions .button{flex:1;min-width:150px}.payback div{flex-wrap:wrap;align-items:start}.payback dd{max-width:100%;text-align:left}.invoice-section{padding:22px 18px}.invoice-section summary{flex-direction:column;gap:8px}
}
/* Disclosure summaries keep entered assumptions visible without crowding inputs. */
.example-guide{margin:10px 0 20px;border:1px solid #cdd8c5;border-radius:7px;background:#f5f8f0;padding:18px 22px;font-size:18px;line-height:1.75}.example-guide summary{cursor:pointer;font-weight:650}.example-guide h3{font-size:1.375rem;line-height:1.4;margin:12px 0}.example-guide p{margin:14px 0}.example-guide .hint{font-size:18px}.guide-status{font-size:18px;font-weight:650;color:#48633a}.guide-reference{border-left:3px solid #8baa66;padding:3px 0 3px 18px;margin:20px 0}.guide-reference>strong{font-size:18px}.guide-reference p{margin:9px 0}.example-guide ol{padding-left:26px}.example-guide li{margin:9px 0}.assumption-panel>summary{display:flex;align-items:start;gap:14px;cursor:pointer;list-style:none}.assumption-panel>summary::-webkit-details-marker{display:none}.assumption-panel>summary::after{content:'+';font-size:26px;font-weight:400;margin-left:auto;line-height:1.1;flex-shrink:0}.assumption-panel[open]>summary::after{content:'−'}.assumption-heading{display:block;flex:1;min-width:0}.assumption-heading strong{display:block;font-size:1.375rem;font-weight:650;line-height:1.4}.assumption-heading>span{display:block;font-size:18px;font-weight:400;line-height:1.75;margin-top:12px;color:#455a49}.assumption-fields{border-top:1px solid #dce2d8;margin-top:23px;padding-top:23px}.timing-assumptions{margin-top:24px;border:1px solid #d6e0cd;background:#f5f8f0;border-radius:5px;padding:18px}.timing-assumptions .assumption-heading strong{font-size:18px}.timing-assumptions .assumption-heading>span{margin-top:8px}.cost-driver-details{margin:23px 0;border-top:1px solid #36564a;border-bottom:1px solid #36564a;padding:18px 0;font-size:18px;line-height:1.7}.cost-driver-details summary{cursor:pointer}.cost-driver-details summary>strong{font-size:18px}.cost-driver-details summary>span{display:block;margin-top:8px;color:#d1e0d1}.cost-driver-details p{color:#d1e0d1;font-size:18px;margin:19px 0}.cost-driver-details ol{list-style:none;padding:0;margin:0;display:grid;gap:15px}.cost-driver-details li{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #36564a;padding-top:14px}.cost-driver-details li>span:last-child{text-align:right;flex-shrink:0}.cost-driver-details strong{font-size:18px;font-weight:600}.cost-driver-details small{display:block;font-size:17px;color:#c4d7c6;line-height:1.65;margin-top:4px}@media screen and (max-width:600px){.example-guide{padding:17px 18px}.assumption-panel>summary{gap:11px}.assumption-heading strong{font-size:1.25rem}.timing-assumptions{padding:16px}.cost-driver-details li{flex-wrap:wrap;gap:8px}.cost-driver-details li>span:last-child{text-align:left}}

/* Compact headings put the calculator directly below its introduction. */
@media screen{.hero{padding-top:34px;padding-bottom:30px}.hero h1{font-family:var(--sans);font-size:clamp(32px,4vw,46px);font-weight:650;letter-spacing:-1px;line-height:1.2}.hero-copy{max-width:850px;font-size:20px}.calculator-section{padding-top:32px}.section-heading h2,.methodology h2{font-family:var(--sans);font-weight:650;font-size:clamp(28px,3vw,36px);letter-spacing:-.7px;line-height:1.25}.section-heading{margin-bottom:24px}.invoice-section summary{display:list-item}.sensitivity p{margin-top:12px}.methodology>div>p:not(.eyebrow){margin-top:16px}}
@media screen and (max-width:600px){.hero{padding-top:28px;padding-bottom:26px}.hero h1{letter-spacing:-.6px}.calculator-section{padding-top:26px}}


/* Shared collection navigation and readable working text. */
.tool-nav{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.tool-nav-identity{font-size:18px;font-weight:650;line-height:1.5;text-decoration:none;flex-shrink:0}
.tool-nav nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px;font-size:18px;line-height:1.5}
.tool-nav nav a{text-decoration:none;border-bottom:2px solid transparent;padding:4px 0}
.tool-nav nav a:hover{border-bottom-color:#a8b4a6}
.tool-nav nav a[aria-current=page]{font-weight:650;border-bottom-color:#8a7441}
@media screen{
  body{font-size:20px}
  .topbar{min-height:84px}
  input:not([type=checkbox]):not([type=radio]),select,.row-fields input,.row-fields select,.add-row select{min-height:50px;height:auto;line-height:1.3}
  .topbar nav,.preview,.button,.small,.export-actions .button,.example-buttons button{font-size:18px}
  .hero-copy{font-size:20px;line-height:1.65}
  label,.field-grid label,.proposal-panel label,.row-fields label,.workflow-builder label,.workflow-builder>label{font-size:18px}
  input,select,textarea,.row-fields input,.row-fields select,.subscription-head input,.add-row select{font-size:20px}
  .hint,.workflow-builder .hint,.results .hint,.row-meta,.save-status,.example-bar span,.assumption-heading>span,.example-guide .hint,.guide-status,.guide-reference>strong{font-size:18px}
  .decision-tools p:not(.eyebrow),.sensitivity p,.sources-section .section-heading>p,.source-card p,.source-footnote,.methodology>div>p:not(.eyebrow),.method-notes p{font-size:20px}
  .example-guide{font-size:20px}
  .unit,.results-header .eyebrow,.live-dot,.value-card .eyebrow,.source-card .vendor,.source-card small,.cost-driver-details small{font-size:17px}
  table,th,.decision-tools th[scope=row]{font-size:18px}
  .interpretation{border-left-color:#dbc78e}
}
@media screen and (max-width:1100px){
  .tool-nav{align-items:flex-start;flex-direction:column;gap:10px;padding-top:18px;padding-bottom:18px}
  .tool-nav nav{justify-content:flex-start}
}
@media screen and (max-width:600px){
  .tool-nav nav{gap:8px 18px}
  .subscription-head input{font-size:20px}
  .cost-breakdown div{flex-wrap:wrap;gap:4px 12px}
  .cost-breakdown dt{max-width:100%}
  .cost-breakdown dd{margin-left:auto}
  .topbar .preview{font-size:17px}
  .big-number{font-size:clamp(40px,12vw,54px)}
}
@media print{.tool-nav{display:none!important}}


/* Budget analytics: invoice cash and modeled capacity use separate charts. */
.budget-dashboard{margin:0 0 32px}
.dashboard-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin:0 0 16px}
.dashboard-heading p{font-size:17px;color:var(--muted);margin:4px 0 0;line-height:1.5}
.dashboard-edit{font-size:18px;white-space:nowrap;text-underline-offset:4px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dashboard-tile{display:flex;flex-direction:column;align-items:start;gap:8px;padding:18px 20px;background:#fff;border:1px solid #d5ded0;border-top:3px solid #244739;border-radius:5px;min-width:0}
.dashboard-tile>span{font-size:18px;line-height:1.45;font-weight:550}
.dashboard-tile strong{font-size:32px;letter-spacing:-.7px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dashboard-tile small{font-size:17px;line-height:1.45;color:var(--muted)}
.capacity-tile{border-top-color:#a58d50}
.dashboard-interpretation{font-size:18px;line-height:1.7;color:var(--ink);border-left:3px solid #a58d50;padding:3px 0 3px 18px;margin:0 0 22px;max-width:1050px}
.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dashboard-chart{margin:0;min-width:0;padding:20px 20px 12px;background:#fff;border:1px solid #d5ded0;border-radius:5px}
.dashboard-chart h3{font-size:22px;line-height:1.4}
.dashboard-chart figcaption>span{display:block;font-size:17px;color:var(--muted);margin:4px 0 12px;line-height:1.5}
.chart-view{font-size:16px;padding:8px 12px;min-height:42px;width:auto;max-width:100%;margin:0 0 12px;background:#f5f7f1}
.chart-note{font-size:17px;color:var(--muted);line-height:1.6;margin:8px 0 6px}
.chart-category{font-family:var(--sans);font-size:21px;font-weight:600;fill:var(--ink)}
.chart-category-detail{font-family:var(--sans);font-size:17px;fill:#52645a}
.chart-value{font-family:var(--sans);font-size:21px;font-weight:650;fill:var(--ink)}
.cash-breakdown-bar{fill:#355f50}
.cash-breakdown-bar.category-1{fill:#b49a56}
.cash-breakdown-bar.category-2{fill:#819173}
.chart-bar-track{fill:#f1f4ec}
.chart-scroll{overflow-x:auto;overscroll-behavior-x:contain}
.chart-scroll svg{display:block;width:100%;min-width:480px;height:auto;aspect-ratio:600/260;color:var(--ink)}
.chart-axis{font-family:var(--sans);font-size:22px;fill:#52645a}
.chart-grid-line{stroke:#e0e6da;stroke-width:1}
.cash-bar{fill:#355f50}
.cash-bar.selected{fill:#b49a56}
.hours-line{fill:none;stroke:#59714b;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.hours-area{fill:#59714b;opacity:.1}
.hours-point{fill:#59714b;stroke:#fff;stroke-width:2}
.hours-point.selected{fill:#b49a56;stroke:#12362d;stroke-width:2}
.chart-month-highlight{fill:#f1eddf}
.dashboard-month{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:center;background:#f5f7f1;border:1px solid #d5ded0;border-radius:5px;margin-top:18px;padding:18px 20px}
.dashboard-month>label{font-size:18px;line-height:1.45;color:var(--ink)}
.dashboard-month select{font-size:20px;margin-top:8px}
.dashboard-month dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}
.dashboard-month dl>div{min-width:0}
.dashboard-month dt{font-size:18px;line-height:1.45;color:var(--muted)}
.dashboard-month dd{margin:6px 0 0;font-size:26px;font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dashboard-footnote{font-size:17px;color:var(--muted);line-height:1.6;margin:12px 0 0}
.dashboard-notice{font-size:18px;background:#fff4ed;border:1px solid #b56343;color:#73341d;padding:12px 16px;line-height:1.6;margin:0 0 16px}
.dashboard-month.is-stale{opacity:.65}
@media screen{.hero{padding-top:24px;padding-bottom:24px}.hero h1{font-size:clamp(30px,3.5vw,42px)}.hero-copy{margin-top:12px}.calculator-section{padding-top:26px}.section-heading{margin-bottom:22px}}
@media screen and (max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts{grid-template-columns:minmax(0,1fr)}.dashboard-month{grid-template-columns:180px minmax(0,1fr)}.dashboard-month dl{gap:14px}.dashboard-month dd{font-size:24px}}
@media screen and (max-width:700px){.dashboard-month{grid-template-columns:minmax(0,1fr);gap:18px}.dashboard-month>label{max-width:260px}.dashboard-month dl{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-chart{padding:18px 16px 10px}.dashboard-heading{flex-wrap:wrap}.dashboard-tile{padding:16px}.dashboard-tile strong{font-size:30px}}
@media screen and (max-width:440px){.dashboard-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-tile{gap:6px}.dashboard-tile strong{font-size:32px}.dashboard-edit{white-space:normal}.dashboard-month{padding:18px 16px}}
@media print{.budget-dashboard{display:none!important}}


/* Schedule recovery is derived from month-end cash, separate from valued time. */
.schedule-summary{background:#fff;border:1px solid #d5ded0;border-radius:5px;padding:20px;margin-top:18px}
.schedule-summary h3{font-size:22px;line-height:1.4}
.schedule-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:16px 0 0}
.schedule-summary dl>div{min-width:0}
.schedule-summary dt{font-size:18px;line-height:1.5;color:var(--muted)}
.schedule-summary dd{font-size:24px;line-height:1.4;font-weight:650;margin:6px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.schedule-summary dl span{display:block;font-size:17px;line-height:1.5;color:var(--muted);margin-top:4px}
.schedule-summary p{font-size:17px;line-height:1.65;color:var(--muted);margin:15px 0 0;max-width:940px}
@media screen and (max-width:700px){.schedule-summary{padding:18px 16px}.schedule-summary dl{grid-template-columns:minmax(0,1fr);gap:18px}}


/* A fixed worked interpretation stays separate from the editable budget. */
.worked-example{padding-bottom:42px}
.worked-example-card{background:#fff;border:1px solid var(--line);border-left:3px solid #a58d50;border-radius:5px;padding:28px 32px}
.worked-example h2{font-family:var(--sans);font-size:32px;font-weight:650;letter-spacing:-.7px;line-height:1.3;margin:0 0 16px}
.worked-example p{font-size:20px;line-height:1.75;max-width:1040px;margin:16px 0 0}
.worked-example .worked-reference{font-size:18px;line-height:1.65;color:var(--muted);margin-top:0}
.worked-example a{text-underline-offset:3px}
@media screen and (max-width:600px){.worked-example-card{padding:22px 20px}.worked-example h2{font-size:28px}.worked-example{padding-bottom:32px}}

/* Identify the tool creator next to the existing methodology byline. */
.creator-identity{display:flex;align-items:center;gap:18px;margin:22px 0}
.creator-identity img{display:block;width:72px;height:auto;flex:0 0 72px;border-radius:4px}
.creator-identity p{font-size:18px;line-height:1.75;color:var(--muted);margin:0;min-width:0}

/* Keep decision totals visible; offer formulas and reference detail on demand. */
.reading-details{margin-top:16px;font-size:18px;line-height:1.65}
.reading-details>summary{cursor:pointer;font-weight:600;min-height:44px;padding:8px 0}
.reading-details p{margin:12px 0 0;font-size:18px;line-height:1.75}
.results-details{margin:18px 0;border-top:1px solid #36564a;padding:12px 0 0;font-size:18px;line-height:1.65}
.results-details>summary{cursor:pointer;color:#d1e0d1;font-weight:600;min-height:44px;padding:8px 0}
.results-details .cost-breakdown{border:0;margin:10px 0 0;padding:10px 0}
.results-details .interpretation{margin-bottom:0}
.sensitivity{display:block}
.sensitivity>.reading-details{margin:0}
.sensitivity>.reading-details>summary{font-size:22px;color:var(--ink)}
.sensitivity .table-scroll{margin-top:18px}
.worked-example .reading-details>summary{font-size:20px}
.worked-example .reading-details p{font-size:20px}
.source-card .reading-details p{font-size:18px}
.row-terms{font-size:18px;margin-top:10px;color:#5d6d59}
.row-terms>summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}
.row-terms .row-meta{margin-top:8px}

/* Portable backup controls retain a full keyboard-accessible file input. */
.backup-restore{position:relative;overflow:hidden;cursor:pointer}.backup-restore input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.backup-restore:focus-within{outline:2px solid currentColor;outline-offset:3px}.backup-controls{flex-wrap:wrap;margin:16px 0}

/* Shared finance-example context: readable before changing inputs. */
.example-context{margin:18px 0;padding:14px 18px;border:1px solid #cdd6d8;border-left:3px solid #a88649;border-radius:6px;background:#f5f6f2;display:grid;gap:5px;color:var(--ink,#112433);font-size:17px;line-height:1.5}.example-context p{margin:0;max-width:none}.example-context .example-save-status{margin:5px 0 0;padding-top:8px;border-top:1px solid #d8dfdc;font-size:17px;color:inherit}.example-context a{text-underline-offset:3px}.example-context strong{font-weight:650}@media(max-width:560px){.example-context{padding:12px 14px;font-size:16px}.example-context .example-save-status{font-size:16px}}
