:root{--ink:#172329;--ink-soft:#58686c;--paper:#f5f1e9;--paper-deep:#e8e0d3;--white:#fffdf8;--signal:#e06b48;--signal-dark:#a8442f;--mint:#cbe3d7;--line:#1723292e;--focus:#146b88;--error:#a52d2d;--positive:#2e7d5b;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-shell{min-height:100vh;overflow:hidden}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;padding:20px 5vw;display:flex}.wordmark{letter-spacing:-.03em;align-items:center;gap:10px;font-size:15px;font-weight:720;text-decoration:none;display:inline-flex}.wordmark-mark{background:var(--ink);color:var(--white);font-family:var(--mono);justify-content:center;align-items:center;width:36px;height:30px;font-size:11px;display:inline-flex}.preview-pill{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:10px}.hero{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:8vw;max-width:1440px;min-height:540px;margin:0 auto;padding:92px 7vw 86px;display:grid}.eyebrow,.section-kicker{color:var(--signal-dark);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px;font-size:10px;font-weight:700}.hero h1{letter-spacing:-.085em;max-width:980px;margin:0;font-size:clamp(54px,8vw,116px);font-weight:630;line-height:.9}.hero h1 em{color:var(--signal);font-family:var(--serif);font-weight:400}.hero-lede{color:var(--ink-soft);max-width:700px;margin:40px 0 30px;font-size:clamp(17px,1.5vw,22px);line-height:1.55}.trust-row{font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:18px;font-size:10px;display:flex}.trust-row span:before{color:var(--signal);content:"●";margin-right:7px;font-size:7px}.hero-note{background:var(--mint);border:1px solid var(--ink);box-shadow:9px 9px 0 var(--ink);align-self:end;padding:25px;transform:rotate(1.4deg)}.note-index,.mini-equation,.result-kicker,.result-badge,.step-number,.card-label{font-family:var(--mono)}.note-index{font-size:10px}.hero-note p{margin:34px 0 16px;font-size:15px;line-height:1.55}.mini-equation{border-bottom:1px solid var(--ink);border-top:1px solid var(--ink);gap:12px;padding:17px 0;font-size:11px;line-height:1.4;display:grid}.mini-equation b{color:var(--signal-dark)}.planner{background:var(--ink);color:var(--white);max-width:1440px;margin:0 auto;padding:72px 7vw 80px}.planner-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px;display:flex}.planner-heading .section-kicker{color:#9dd2bc;margin-bottom:15px}.planner-heading h2{letter-spacing:-.06em;max-width:700px;margin:0;font-size:clamp(30px,4vw,56px);line-height:1}.planner-intro{color:#ffffffb3;max-width:660px;margin:20px 0 0;font-size:14px;line-height:1.55}.planner-actions{flex:none;gap:10px;display:flex}.primary-button,.secondary-button,.add-button,.remove-button{cursor:pointer;font-family:var(--mono);letter-spacing:.03em;font-size:10px}.primary-button{background:var(--signal);border:1px solid var(--signal);color:var(--white);padding:13px 16px}.secondary-button{color:var(--white);background:0 0;border:1px solid #ffffff6b;padding:13px 16px}.primary-button:hover,.secondary-button:hover,.add-button:hover{filter:brightness(1.08)}.error-summary{color:#6e2017;background:#ffe2da;border-left:4px solid #d85037;margin:0 0 24px;padding:16px 18px}.error-summary ul{margin:8px 0 0;padding-left:20px}.error-summary a{text-underline-offset:2px;text-decoration-thickness:1px}.planner-form{gap:20px;display:grid}fieldset{background:var(--white);color:var(--ink);border:0;min-width:0;margin:0;padding:25px 28px 28px}legend{letter-spacing:-.03em;padding:0;font-size:17px;font-weight:700}legend small{color:var(--ink-soft);font-family:var(--mono);margin-left:8px;font-size:10px;font-weight:400}.setup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.field{gap:7px;min-width:0;display:grid}.field>span:first-child{font-size:12px;font-weight:680}.field input,.field select{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:0;width:100%;min-width:0;padding:12px 11px}.field input[aria-invalid=true],.field select[aria-invalid=true],.period-row input[aria-invalid=true],.period-grid-retainer input[aria-invalid=true]{border-color:var(--error);box-shadow:inset 3px 0 0 var(--error)}.field-error{color:var(--error);font-size:11px;line-height:1.35}.fieldset-help,.empty-note{color:var(--ink-soft);margin:11px 0 18px;font-size:12px;line-height:1.5}.period-grid{gap:8px;margin-top:21px;display:grid}.period-grid-four{grid-template-columns:minmax(155px,1.2fr) repeat(12,minmax(68px,1fr));padding-bottom:2px;overflow-x:auto}.period-labels,.period-row{display:contents}.period-labels>span,.period-row>span{color:var(--ink-soft);font-family:var(--mono);align-items:center;min-height:36px;font-size:10px;display:flex}.period-labels>span:not(:first-child){justify-content:center}.period-row>span{font-family:var(--sans);font-size:12px;font-weight:650}.period-row input,.period-grid-retainer input{background:var(--paper);border:1px solid var(--line);border-radius:0;width:100%;min-width:66px;padding:10px 8px}.period-grid-four>.period-row>input,.period-grid-four>.period-labels>span{grid-column:auto}.grid-error{margin:3px 0 0 170px}.retainer-card{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.retainer-header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.retainer-header strong{font-size:13px}.remove-button{color:var(--signal-dark);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;text-decoration:underline}.period-grid-retainer{grid-template-columns:minmax(150px,1.2fr) repeat(12,minmax(68px,1fr));align-items:center;overflow-x:auto}.period-grid-retainer .row-label{color:var(--ink-soft);font-size:12px;font-weight:650}.cell-field{gap:5px;min-width:66px;display:grid}.cell-field .field-error{font-size:10px}.compact-field{max-width:230px;margin-top:17px}.add-button{background:var(--ink);border:1px solid var(--ink);color:var(--white);margin-top:21px;padding:11px 13px}.add-button:disabled{cursor:not-allowed;opacity:.48}.results{background:#22353a;border:1px solid #ffffff2e;min-width:0;margin-top:20px;padding:28px}.empty-result{flex-direction:column;justify-content:center;align-items:flex-start;min-height:220px;display:flex}.empty-mark{color:#9dd2bc;font-family:var(--mono);border:1px solid #9dd2bc;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.empty-result h3{letter-spacing:-.04em;margin:23px 0 10px;font-size:25px;line-height:1.1}.empty-result p{color:#ffffffad;max-width:530px;margin:0;font-size:13px;line-height:1.55}.result-banner{border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:end;padding-bottom:23px;display:flex}.result-kicker{color:#9dd2bc;letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.result-banner strong{letter-spacing:-.07em;margin-top:8px;font-size:clamp(38px,5vw,65px);font-weight:600;line-height:1;display:block}.result-banner small{color:#9dd2bc;font-family:var(--mono);letter-spacing:.03em;font-size:12px}.result-badge{color:#d9eee5;text-transform:uppercase;border:1px solid #ffffff52;padding:8px 10px;font-size:10px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:23px 0 30px;display:grid}.summary-grid div{border-left:1px solid #ffffff2e;padding-left:13px}.summary-grid span{color:#ffffff9e;font-size:11px;display:block}.summary-grid strong{font-family:var(--mono);margin-top:7px;font-size:17px;font-weight:500;display:block}.period-table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px}caption{color:#9dd2bc;font-family:var(--mono);letter-spacing:.1em;text-align:left;text-transform:uppercase;margin-bottom:10px;font-size:10px}th,td{font-family:var(--mono);text-align:right;border-top:1px solid #ffffff24;padding:12px 10px;font-size:11px}th:first-child,td:first-child{text-align:left}thead th{color:#ffffff94;font-size:10px;font-weight:400}tbody th{color:var(--white);font-weight:500}tbody th span,tbody th small{display:block}tbody th small{color:#ffffff80;margin-top:4px;font-size:10px}.positive{color:#b9e6d2}.negative{color:#ffb6a7}.status{border:1px solid #ffffff40;padding:4px 7px;font-size:10px;display:inline-block}.status-overloaded{color:#ffb6a7}.status-within_capacity{color:#b9e6d2}.scenario-card{border-top:1px solid #ffffff2e;margin-top:35px;padding-top:28px}.scenario-card h3{letter-spacing:-.04em;margin:8px 0 0;font-size:24px}.scenario-card>p{color:#ffffffa1;margin:10px 0 20px;font-size:12px;line-height:1.5}.formula-details{border-top:1px solid #ffffff2e;margin-top:28px;padding-top:18px}.formula-details summary{color:#9dd2bc;cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.formula-details p{color:#ffffffad;max-width:800px;font-size:12px;line-height:1.55}.formula-details code{color:var(--white);font-family:var(--mono);overflow-wrap:anywhere;margin-top:8px;font-size:11px;line-height:1.6;display:block}.limitation{color:#cfe8dd;margin:19px 0 0;font-size:12px;line-height:1.5}.method-section,.faq-section{max-width:1440px;margin:0 auto;padding:94px 7vw}.section-heading h2,.limits-callout h2,.source-card h2{letter-spacing:-.07em;max-width:620px;margin:0;font-size:clamp(30px,4.5vw,60px);line-height:.98}.method-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;display:grid}.method-grid article{border-top:1px solid var(--line);padding:21px 0}.step-number{color:var(--signal-dark);font-size:11px}.method-grid h3{letter-spacing:-.04em;margin:25px 0 10px;font-size:20px}.method-grid p{color:var(--ink-soft);max-width:330px;margin:0;font-size:14px;line-height:1.6}.limits-section{background:var(--paper-deep);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7vw;max-width:1440px;margin:0 auto;padding:86px 7vw;display:grid}.limits-callout>p:last-child{color:var(--ink-soft);max-width:520px;margin:30px 0 0;font-size:16px;line-height:1.6}.source-card{border-left:1px solid var(--line);padding-left:5vw}.source-card h2{font-size:clamp(25px,3vw,42px)}.source-list{margin:32px 0 0;padding:0;list-style:none}.source-list li{border-top:1px solid var(--line);gap:7px;padding:14px 0;display:grid}.source-list a{text-underline-offset:3px;font-size:14px;font-weight:700;text-decoration-thickness:1px}.source-list span{color:var(--ink-soft);font-size:12px;line-height:1.45}.faq-section{border-top:1px solid var(--line)}.faq-grid{grid-template-columns:repeat(2,1fr);gap:0 45px;margin-top:50px;display:grid}.faq-grid details{border-top:1px solid var(--line);padding:18px 0}.faq-grid summary{cursor:pointer;font-size:15px;font-weight:650;list-style-position:outside}.faq-grid details p{color:var(--ink-soft);max-width:500px;margin:14px 0 0;font-size:14px;line-height:1.6}.site-footer{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;max-width:1440px;margin:0 auto;padding:24px 7vw;font-size:10px;display:flex}.site-footer p{margin:0}@media (width<=900px){.hero,.limits-section{grid-template-columns:1fr}.hero{gap:48px;padding-top:65px}.hero-note{max-width:420px}.planner-heading{flex-direction:column;align-items:flex-start}.setup-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:1fr}.method-grid p{max-width:560px}.source-card{border-left:0;border-top:1px solid var(--line);padding-top:45px;padding-left:0}}@media (width<=600px){.site-header{flex-direction:column;align-items:flex-start;gap:15px}.preview-pill{align-self:flex-start}.hero,.planner,.method-section,.limits-section,.faq-section{padding-left:6vw;padding-right:6vw}.setup-grid,.summary-grid,.faq-grid{grid-template-columns:1fr}fieldset,.results{padding:22px}.planner-actions{width:100%}.planner-actions button{flex:1}.result-banner{flex-direction:column;align-items:flex-start;gap:18px}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;padding-left:6vw;padding-right:6vw}}
