:root{--ink:#172329;--ink-soft:#5a6a6c;--paper:#f5f1e9;--paper-deep:#e8e0d3;--white:#fffdf8;--signal:#df704e;--signal-dark:#a94732;--mint:#cbe3d7;--line:#1723292e;--focus:#146b88;--error:#a52d2d;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"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{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)}.calculator-section{background:var(--ink);color:var(--white);max-width:1440px;margin:0 auto;padding:72px 7vw 80px}.calculator-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px;display:flex}.calculator-heading .section-kicker{color:#9dd2bc;margin-bottom:15px}.calculator-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}.form-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.form-actions button[type=submit],.secondary-button{cursor:pointer;font-family:var(--mono);letter-spacing:.03em;padding:13px 16px;font-size:10px}.form-actions button[type=submit]{background:var(--signal);border:1px solid var(--signal);color:var(--white)}.secondary-button{color:var(--white);background:0 0;border:1px solid #ffffff6b}.form-actions button[type=submit]:hover,.secondary-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}.share-message{color:#d9eee5;border:1px solid #9dd2bc80;margin:0 0 20px;padding:12px 14px;font-size:12px}.calculator-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}.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:disabled,.field select:disabled{color:var(--ink-soft);cursor:not-allowed;opacity:.78}.field input[aria-invalid=true],.field select[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}.field-help,.fieldset-help{color:var(--ink-soft);font-size:11px;line-height:1.4}.fieldset-help{margin:11px 0 0}.weekday-grid{border-top:1px solid var(--line);flex-wrap:wrap;gap:9px 13px;margin-top:25px;padding-top:18px;display:flex}.weekday-grid .group-label{flex-basis:100%;font-size:12px;font-weight:680}.weekday-grid label{color:var(--ink-soft);font-family:var(--mono);align-items:center;gap:6px;font-size:10px;display:inline-flex}.weekday-grid input{accent-color:var(--signal)}.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{font-family:var(--mono);letter-spacing:-.07em;overflow-wrap:anywhere;margin-top:8px;font-size:clamp(28px,4vw,50px);font-weight:500;line-height:1;display:block}.result-banner small{color:#9dd2bc;font-family:var(--mono);margin-top:8px;font-size:11px;display:block}.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;min-width:0;padding-left:13px}.summary-grid span{color:#ffffff9e;font-size:11px;display:block}.summary-grid strong{font-family:var(--mono);overflow-wrap:anywhere;margin-top:7px;font-size:13px;font-weight:500;display:block}.date-list{border-top:1px solid #ffffff2e;padding-top:24px}.date-list h3{letter-spacing:-.04em;margin:0 0 14px;font-size:19px}.date-list ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.date-list li{border-top:1px solid #ffffff1f;align-items:center;gap:13px;padding:10px 0;display:flex}.date-list li span{color:#9dd2bc;font-family:var(--mono);border:1px solid #9dd2bc;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;display:inline-flex}.date-list li strong{font-family:var(--mono);font-size:12px;font-weight:500}.details-card{border-top:1px solid #ffffff2e;margin-top:28px;padding-top:18px}.details-card summary{color:#9dd2bc;cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.details-card dl{gap:10px;margin:18px 0;display:grid}.details-card dl div{grid-template-columns:150px 1fr;gap:4px;display:grid}.details-card dt{color:#ffffff8f;font-size:11px}.details-card dd{color:#ffffffd6;font-family:var(--mono);overflow-wrap:anywhere;margin:0;font-size:10px;line-height:1.45}.assumption-list{color:#ffffffad;margin:18px 0 0;padding-left:19px;font-size:12px;line-height:1.5}.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}.calculator-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}.form-actions{width:100%}.form-actions button{flex:1}.result-banner{flex-direction:column;align-items:flex-start;gap:18px}.details-card dl div{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;padding-left:6vw;padding-right:6vw}}
