@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{color-scheme:dark;--ink:#101010;--paper:#f4f5f2;--surface:#181b1d;--muted:#b7bcbd;--placeholder:#9ba2a6;--line:#697177;--soft-line:#383d40;--blue:#008afc;--error:#ffb9b1;--paper-muted:#626568;--font:Manrope,Arial,sans-serif;--mono:'SFMono-Regular',Consolas,monospace;--gutter:clamp(20px,4.2vw,72px);--content:1440px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--tiny:.72rem;--small:.86rem;--body:1rem;--large:1.2rem;--heading:clamp(1.7rem,3vw,2.7rem);--display:clamp(2.7rem,6.4vw,6.25rem);--metric:clamp(3.8rem,6.5vw,6.8rem);--secondary-metric:clamp(2.2rem,3.5vw,3.7rem);--hairline:1px;--field-radius:2px;--pill:999px;--focus:3px;--transition:160ms ease;--header-height:88px;--header-height-mobile:76px;--tap-target:44px;--control-height:52px;--textarea-height:94px;--brief-height:480px;--brief-height-mobile:420px;--logo-size:2.4rem;--logo-size-mobile:2.15rem;--resource-heading:1.55rem;--mobile-small:.8rem;--currency-width:180px;--link-measure:560px;--focus-offset:4px;--metric-mobile:clamp(3rem,13vw,4.5rem);--secondary-metric-mobile:clamp(2rem,9vw,3.1rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--s4)}
.planner-page{margin:0;background:var(--ink);color:var(--paper);font:var(--body)/1.65 var(--font);-webkit-font-smoothing:antialiased}
:where(.planner-page) :where(h1,h2,h3,p,dl,dd){margin:0}
:where(.planner-page) a{color:inherit;text-underline-offset:.3em}
:where(.planner-page) :where(button,input,select,textarea){font:inherit}
.planner-page button{cursor:pointer}
.planner-page [hidden]{display:none}
.planner-page :is(a,button,input,select,textarea,summary):focus-visible{outline:var(--focus) solid var(--blue);outline-offset:var(--focus-offset)}
.shell{width:100%;max-width:var(--content);padding-inline:var(--gutter);margin-inline:auto}
.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:5;transform:translateY(-180%);padding:var(--s2) var(--s3);background:var(--paper);color:var(--ink)}
.skip-link:focus{transform:translateY(0)}
.tool-header{min-height:var(--header-height);display:flex;align-items:center;gap:var(--s4);border-bottom:var(--hairline) solid var(--soft-line)}
.wordmark{font-size:var(--logo-size);line-height:1;font-weight:600;letter-spacing:-.085em;text-decoration:none;min-height:var(--tap-target);display:flex;align-items:center}
.wordmark-dot{color:var(--blue)}
.back-link{margin-left:auto;font-size:var(--small);text-decoration:none;min-height:var(--tap-target);display:flex;align-items:center;gap:var(--s2)}
.language-nav{display:flex;border-left:var(--hairline) solid var(--soft-line);padding-left:var(--s3);gap:var(--s1);font:var(--small)/1.4 var(--mono)}
.language-nav a{display:grid;place-items:center;min-width:var(--tap-target);min-height:var(--tap-target);text-decoration:none;border-bottom:var(--hairline) solid transparent;color:var(--muted)}
.language-nav a[aria-current]{color:var(--paper);border-bottom-color:var(--blue)}
.tool-intro{padding-block:var(--s5) var(--s4)}
.eyebrow,.section-index{font:var(--tiny)/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.tool-intro>.eyebrow{color:var(--muted);margin-bottom:var(--s3)}
.intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6);align-items:end}
.intro-grid h1{font-size:var(--display);line-height:.98;font-weight:500;letter-spacing:-.065em}
.intro-copy{max-width:44ch;padding-bottom:var(--s1)}
.intro-copy>p:first-child{font-size:var(--large);line-height:1.6}
.local-note{color:var(--muted);font-size:var(--small);margin-top:var(--s3)}
.language-note{color:var(--muted);font-size:var(--small);margin-top:var(--s1)}
.local-note span{font-size:.6em;vertical-align:middle;margin-right:var(--s1)}
.step-nav{display:flex;gap:var(--s4);margin-top:var(--s5);border-top:var(--hairline) solid var(--soft-line);padding-top:var(--s1);font:var(--small)/1.5 var(--mono)}
.step-nav a{display:flex;align-items:center;min-height:var(--tap-target);text-decoration:none;color:var(--muted)}
.step-nav a:hover{color:var(--paper)}
.noscript{padding-block:var(--s4);color:var(--error)}
.workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6);align-items:start;padding-block:var(--s4) var(--s7)}
.planner-form{min-width:0}
.input-section{scroll-margin-top:var(--s4)}
.input-section>.section-index{color:var(--muted);margin-bottom:var(--s2)}
.input-section h2,.brief-intro h2,.next-section h2{font-size:var(--heading);font-weight:500;line-height:1.13;letter-spacing:-.045em;max-width:22ch}
.section-intro{max-width:62ch;color:var(--muted);margin-top:var(--s2)}
.example-actions{display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center;margin-block:var(--s3) var(--s2)}
.text-button{display:inline-flex;gap:var(--s2);align-items:center;min-height:var(--tap-target);padding:var(--s1) 0;background:transparent;border:0;color:var(--blue);font-size:var(--small);text-align:left;text-decoration:underline;text-underline-offset:.3em}
.muted-button{color:var(--muted)}
.example-status{padding:var(--s2);border-left:var(--focus) solid var(--blue);background:var(--surface);font-size:var(--small);margin-bottom:var(--s3)}
.required-note{font-size:var(--small);color:var(--muted);margin-bottom:var(--s3)}
.error-summary{border:var(--hairline) solid var(--error);padding:var(--s2);margin-bottom:var(--s3);color:var(--error);font-size:var(--small)}
.field{min-width:0;margin-top:var(--s3)}
.field label{display:block;font-size:var(--body);font-weight:600;line-height:1.4;margin-bottom:var(--s1)}
.optional{color:var(--muted);font-size:var(--small);font-weight:400}
.field :is(input,select,textarea){display:block;width:100%;max-width:100%;min-height:var(--control-height);padding:var(--s2);background:var(--surface);color:var(--paper);border:var(--hairline) solid var(--line);border-radius:var(--field-radius);line-height:1.45}
.field textarea{resize:vertical;min-height:var(--textarea-height)}
.field input::placeholder,.field textarea::placeholder{color:var(--placeholder);opacity:1}
.field [aria-invalid=true]{border-color:var(--error)}
.hint{font-size:var(--small);color:var(--muted);line-height:1.6;margin-top:var(--s1);max-width:64ch}
.field-error{font-size:var(--small);color:var(--error);line-height:1.5;margin-top:var(--s1)}
.numeric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s3)}
.currency-field{max-width:var(--currency-width)}
.workflow-section{margin-top:var(--s6);padding-top:var(--s4);border-top:var(--hairline) solid var(--soft-line)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:var(--control-height);max-width:100%;padding:var(--s2) var(--s3);border:var(--hairline) solid transparent;border-radius:var(--pill);text-decoration:none;font-size:var(--small);font-weight:600;line-height:1.5;transition:background var(--transition),color var(--transition)}
.button-primary{background:var(--blue);color:var(--ink)}
.button-primary:hover{background:var(--paper);color:var(--ink)}
.build-button{margin-top:var(--s4)}
.submit-note{margin-top:var(--s2)}
.results-column{position:sticky;top:var(--s3);min-width:0}
.workload-panel{background:var(--blue);color:var(--ink);padding:var(--s4);border-radius:var(--field-radius)}
.workload-panel h2{font-size:var(--large);font-weight:600;line-height:1.3;letter-spacing:-.025em;margin-top:var(--s2)}
.calculation-state{font-size:var(--small);line-height:1.5;min-height:3em;margin-top:var(--s2)}
.workload-values{margin-top:var(--s3)}
.workload-values>div{display:flex;flex-direction:column-reverse;align-items:start}
.workload-values dt{font:var(--small)/1.5 var(--mono);letter-spacing:-.02em}
.weekly-value dd{font-size:var(--metric);line-height:1;font-weight:500;letter-spacing:-.07em;overflow-wrap:anywhere;max-width:100%}
.annual-value{border-top:var(--hairline) solid currentColor;padding-top:var(--s3);margin-top:var(--s3)}
.annual-value dd{font-size:var(--secondary-metric);font-weight:500;line-height:1.12;letter-spacing:-.055em;overflow-wrap:anywhere;max-width:100%}
.cost-estimate{border-top:var(--hairline) solid currentColor;margin-top:var(--s4);padding-top:var(--s3)}
.cost-estimate h3{font-size:var(--body);font-weight:600;line-height:1.4}
.cost-estimate>p{font-size:var(--small);margin-top:var(--s1);line-height:1.55}
.cost-estimate dl{margin-top:var(--s2)}
.cost-estimate dl>div{display:flex;justify-content:space-between;gap:var(--s2);align-items:baseline;font-size:var(--small);margin-top:var(--s1)}
.cost-estimate dd{font-weight:600;text-align:right;overflow-wrap:anywhere}
.workload-boundary{font-size:var(--small);line-height:1.6;margin-top:var(--s4)}
.formula-details{margin-top:var(--s2);font-size:var(--small);color:var(--muted);border-bottom:var(--hairline) solid var(--soft-line)}
.formula-details summary{padding-block:var(--s2);cursor:pointer;min-height:var(--tap-target);color:var(--paper)}
.formula-details p{padding-bottom:var(--s3)}
.brief-jump{display:flex;align-items:center;justify-content:space-between;min-height:var(--control-height);font:var(--small)/1.5 var(--mono);text-decoration:none;margin-top:var(--s2)}
.brief-section{background:var(--paper);color:var(--ink);padding-block:var(--s6)}
.brief-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s6);align-items:start}
.brief-intro>.section-index{margin-bottom:var(--s3)}
.brief-intro>p:not(.section-index){margin-top:var(--s3);max-width:44ch}
.brief-actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{background:var(--blue);color:var(--ink)}
.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.button-outline:hover{background:var(--ink);color:var(--paper)}
.button:disabled{opacity:.5;cursor:not-allowed}
.brief-status{font-size:var(--small);line-height:1.6}
.brief-document{min-width:0}
.brief-document label{display:block;margin-bottom:var(--s2)}
.brief-document textarea{width:100%;display:block;min-height:var(--brief-height);resize:vertical;padding:var(--s3);color:var(--ink);background:transparent;border:var(--hairline) solid var(--line);border-radius:var(--field-radius);font:var(--small)/1.7 var(--mono);tab-size:2}
.brief-document textarea::placeholder{color:var(--paper-muted);opacity:1}
.next-section{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s6);padding-block:var(--s7)}
.next-section .section-index{color:var(--muted);margin-bottom:var(--s3)}
.next-section p:not(.section-index){max-width:54ch;color:var(--muted);margin-top:var(--s3)}
.contact-links{display:grid;margin-top:var(--s3);max-width:var(--link-measure)}
.contact-links a,.checklist-resource>a{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-block:var(--s2);border-bottom:var(--hairline) solid var(--soft-line);font-size:var(--small);text-decoration:none}
.contact-links a:hover,.checklist-resource>a:hover{color:var(--blue)}
.checklist-resource{border-top:var(--hairline) solid var(--soft-line);padding-top:var(--s3)}
.checklist-resource h3{font-size:var(--resource-heading);font-weight:500;line-height:1.25;letter-spacing:-.035em}
.checklist-resource>a{margin-top:var(--s3)}
.tool-footer{display:flex;gap:var(--s4);align-items:start;border-top:var(--hairline) solid var(--soft-line);padding-block:var(--s4);font-size:var(--tiny);color:var(--muted)}
.tool-footer p{max-width:84ch;margin-right:auto}
.tool-footer a{min-height:var(--tap-target);display:flex;align-items:start;white-space:nowrap}
.tool-footer>span{white-space:nowrap}
@media(max-width:1050px){.workspace,.intro-grid,.next-section{gap:var(--s4)}.workload-panel{padding:var(--s3)}.brief-grid{gap:var(--s4)}.intro-copy>p:first-child{font-size:var(--body)}.back-link{display:none}.language-nav{margin-left:auto}.numeric-grid{grid-template-columns:1fr}.results-column{top:var(--s2)}}
@media(max-width:720px){.tool-header{min-height:var(--header-height-mobile);gap:var(--s3)}.wordmark{font-size:var(--logo-size-mobile)}.language-nav{padding-left:var(--s2)}.tool-intro{padding-top:var(--s4)}.intro-grid,.workspace,.brief-grid,.next-section{grid-template-columns:1fr}.intro-grid{gap:var(--s3)}.intro-copy{max-width:52ch}.local-note{margin-top:var(--s2)}.step-nav{gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4)}.step-nav a{font-size:var(--tiny)}.workspace{padding-top:var(--s3);padding-bottom:var(--s6);gap:var(--s5)}.planner-form{display:contents}.results-column{position:static;grid-row:2}.workload-panel{padding:var(--s4)}.workload-values{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);align-items:end}.weekly-value dd{font-size:var(--metric-mobile)}.annual-value{border:0;padding-top:0;margin-top:0}.annual-value dd{font-size:var(--secondary-metric-mobile)}.numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s2)}.field label{font-size:var(--small)}.field :is(input,textarea,select){padding:var(--s2);font-size:var(--body)}.hint{font-size:var(--mobile-small)}.workflow-section{margin-top:0}.brief-section{padding-block:var(--s5)}.brief-document textarea{min-height:var(--brief-height-mobile);padding:var(--s2)}.next-section{padding-block:var(--s6);gap:var(--s5)}.tool-footer{flex-wrap:wrap;gap:var(--s2) var(--s4)}.tool-footer p{flex-basis:100%}.tool-footer>span{margin-left:auto}.example-actions{gap:var(--s2) var(--s3)}}
@media(max-width:380px){.numeric-grid{grid-template-columns:1fr}.step-nav{gap:var(--s2)}.workload-panel{padding:var(--s3)}.workload-values{grid-template-columns:1fr}.annual-value{border-top:var(--hairline) solid currentColor;padding-top:var(--s3);margin-top:var(--s2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
