:root{--ground:#FAFAF8;--surface:#FFFFFF;--surface-2:#F2F2EE;--ink:#14171A;--ink-2:#3D454C;--muted:#6A737C;--rule:#E2E2DC;--rule-strong:#C9C9C1;--accent:#0F766E;--accent-soft:#E6F2F0;--accent-ink:#0B5B55;--warn:#B45309;--warn-soft:#FDF3E3;--good:#15803D;--danger:#B91C1C;--shadow:0 1px 2px rgba(20,23,26,.04),0 8px 24px rgba(20,23,26,.06);--f-display:"Bricolage Grotesque",Georgia,serif;--f-body:"Public Sans",-apple-system,BlinkMacSystemFont,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#101214;--surface:#171A1D;--surface-2:#1F2327;--ink:#EDEEEC;--ink-2:#C3C7C9;--muted:#8B9298;--rule:#2A2F33;--rule-strong:#3E464C;--accent:#5EEAD4;--accent-soft:#12302D;--accent-ink:#99F6E4;--warn:#F0B45E;--warn-soft:#2C2113;--good:#6EE7A0;--danger:#F87171;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35)}}:root[data-theme=dark]{--ground:#101214;--surface:#171A1D;--surface-2:#1F2327;--ink:#EDEEEC;--ink-2:#C3C7C9;--muted:#8B9298;--rule:#2A2F33;--rule-strong:#3E464C;--accent:#5EEAD4;--accent-soft:#12302D;--accent-ink:#99F6E4;--warn:#F0B45E;--warn-soft:#2C2113;--good:#6EE7A0;--danger:#F87171;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:920px;margin:0 auto;padding:0 22px 96px}.wrap.narrow{max-width:680px}header.mast{padding:56px 0 28px}.brand{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 20px;font-weight:600}h1{font-family:var(--f-display);font-size:clamp(2.1rem,5.5vw,3.3rem);line-height:1.05;font-weight:700;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}.lede{font-size:1.1rem;color:var(--ink-2);max-width:56ch;margin:0}.card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:26px;box-shadow:var(--shadow);margin:26px 0}.grid{display:grid;grid-gap:18px;gap:18px}@media(min-width:640px){.grid.two{grid-template-columns:1fr 1fr}}label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:var(--ink)}label .hint{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}input,select{width:100%;padding:11px 13px;font-family:var(--f-body);font-size:15px;background:var(--surface);color:var(--ink);border:1px solid var(--rule-strong);border-radius:9px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.check{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:500}.check input{width:auto}button.go{width:100%;padding:14px 20px;font-family:var(--f-body);font-size:16px;font-weight:700;background:var(--accent);color:var(--ground);border:none;border-radius:10px;cursor:pointer;letter-spacing:.01em}button.go:hover{background:var(--accent-ink)}button.go:disabled{opacity:.55;cursor:default}.verdict{border-radius:14px;padding:28px;margin:26px 0;border:1.5px solid var(--accent);background:var(--accent-soft)}.verdict .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;margin:0 0 10px}.big{font-family:var(--f-display);font-size:clamp(2.4rem,7vw,3.6rem);line-height:1;font-weight:700;letter-spacing:-.025em;margin:0 0 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.verdict p{margin:0;color:var(--ink-2)}.verdict.under{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.verdict.over{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,transparent)}table{width:100%;border-collapse:collapse;font-size:14.5px}td,th{text-align:left;padding:9px 0;border-bottom:1px solid var(--rule)}th{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600}td.n,th{font-family:var(--f-mono)}td.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}tr.total td{font-weight:700;border-top:2px solid var(--rule-strong);border-bottom:none}tr.sub td{color:var(--muted)}h2{font-family:var(--f-display);font-size:1.35rem;font-weight:700;letter-spacing:-.015em;margin:0 0 4px}.sub{color:var(--muted);font-size:14px;margin:0 0 18px}.warn{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:10px;padding:14px 16px;margin:10px 0;font-size:14.5px;color:var(--ink-2)}.warn b{color:var(--warn)}footer{border-top:1px solid var(--rule);margin-top:44px;padding-top:22px;font-size:13px}.pill,footer{color:var(--muted)}.pill{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid;font-weight:600}.prefixed{position:relative;display:flex;align-items:center}.prefixed span{position:absolute;left:13px;color:var(--muted);font-weight:600;pointer-events:none;font-size:15px}.prefixed input{padding-left:26px}details.more{margin:16px 0 20px;border-top:1px solid var(--rule);padding-top:14px}details.more summary{cursor:pointer;font-size:13.5px;color:var(--muted);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}details.more summary::-webkit-details-marker{display:none}details.more summary:before{content:"+";font-family:var(--f-mono);color:var(--accent)}details.more[open] summary:before{content:"–"}details.more summary:hover{color:var(--accent)}.verdict .per{font-size:.38em;font-weight:600;letter-spacing:-.01em;color:var(--muted);margin-left:4px}.verdict.bad{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent)}.verdict.warn{border-color:var(--warn);background:var(--warn-soft)}.verdict.bad .k,.verdict.good .k,.verdict.warn .k{color:var(--ink-2)}.fine{margin:16px 0 0;font-size:13px;color:var(--muted);line-height:1.55}.ok{margin:0;color:var(--good);font-weight:700}.card table td{padding:11px 0}.card table td.n{font-size:1.05rem;font-weight:700}.card.missed{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-soft)}.card.missed h2{color:var(--ink)}.card.missed td{border-bottom-color:color-mix(in srgb,var(--warn) 22%,transparent)}.card.missed tr.total td{border-top-color:color-mix(in srgb,var(--warn) 50%,transparent)}td.h{text-align:right;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);white-space:nowrap;padding-right:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.punch{margin:18px 0 0;font-size:1.05rem;line-height:1.5;color:var(--ink)}.punch b{font-size:1.15em}.nums{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr}@media(min-width:560px){.nums{grid-template-columns:repeat(3,1fr)}}div.num,label.num{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700}div.num>label{font-size:13px;font-weight:700;margin:0}div.num>label,label.num>span:first-child{color:var(--ink)}div.num .field{position:relative;display:flex;align-items:center}div.num input{padding:10px 12px}label.num .field{position:relative;display:flex;align-items:center}label.num .field em,label.num .field i{position:absolute;font-style:normal;color:var(--muted);font-weight:600;font-size:14px;pointer-events:none}label.num .field em{left:12px}label.num .field i{right:12px;font-family:var(--f-mono);font-size:12px}label.num input{padding:10px 12px;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}label.num .field em~input{padding-left:24px}.scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}table.book{min-width:620px}table.book td.n,table.book th.r{text-align:right}table.book td{padding:10px 0;font-size:14.5px}table.book td.n{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-left:16px;white-space:nowrap}table.book td.dim{color:var(--muted)}table.book td.rate{font-weight:700}table.book td.rate .u{font-size:.75em;color:var(--muted);font-weight:400}table.book tr.low td.rate{color:var(--warn)}table.book tr.bad td.rate{color:var(--danger)}table.book tr.low td:first-child{box-shadow:inset 3px 0 0 var(--warn);padding-left:10px}table.book tr.bad td:first-child{box-shadow:inset 3px 0 0 var(--danger);padding-left:10px}button.linkish{margin-top:14px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.toggles{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px;align-items:center}.check.inline-num{gap:10px}.check.inline-num input{width:70px;padding:6px 8px;font-family:var(--f-mono)}.lines{flex-direction:column}.line,.lines{display:flex;gap:10px}.line{flex-wrap:wrap;align-items:center;padding:12px;border:1px solid var(--rule);border-radius:10px;background:var(--surface-2)}.line>select{flex:1 1 220px;min-width:180px}.line .mini{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600}.line .mini input{width:70px;padding:7px 9px;font-family:var(--f-mono);text-align:right}.line .mini-sel{width:auto;padding:7px 9px;font-size:13px}.line-stat{font-size:12px;color:var(--muted)}.line-cost,.line-stat{font-family:var(--f-mono);white-space:nowrap}.line-cost{font-size:14px;font-weight:700;margin-left:auto}.drop{background:none;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}.drop:hover:not(:disabled){color:var(--danger)}.drop:disabled{opacity:.25;cursor:default}.price-card{border-color:var(--accent)}.suggest{display:flex;align-items:baseline;gap:10px;font-family:var(--f-mono);font-size:1.25rem;font-weight:700;padding-top:6px}.outcome{display:grid;grid-gap:14px;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.outcome div{display:flex;flex-direction:column;gap:2px}.outcome span{font-size:12px;color:var(--muted);font-weight:600}.outcome b{font-family:var(--f-display);font-size:1.7rem;letter-spacing:-.02em}.outcome b.bad{color:var(--danger)}.proposal-bar{max-width:760px;margin:24px auto 0;padding:0 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}.go.slim{width:auto;padding:10px 18px;font-size:14px}.proposal{max-width:760px;margin:20px auto 80px;padding:56px 56px 44px;background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);color:var(--ink)}.proposal header{text-align:center;margin-bottom:38px}.proposal .logo{max-height:78px;max-width:260px;object-fit:contain}.proposal .wordmark{font-family:var(--f-display);font-size:1.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--brand)}.proposal h1{font-family:var(--f-display);font-size:2.1rem;line-height:1.1;margin:0 0 26px;letter-spacing:-.02em;text-wrap:balance}.proposal h2{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin:34px 0 12px;font-weight:600}.facts{display:grid;grid-template-columns:auto 1fr;grid-gap:7px 22px;gap:7px 22px;margin:0;font-size:14.5px}.facts dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}.facts dd{margin:0;font-weight:600}ul.included{list-style:none;padding:0;margin:0;font-size:15.5px}ul.included li{padding:9px 0 9px 22px;border-bottom:1px solid var(--rule);position:relative}ul.included li:before{content:"";position:absolute;left:2px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--brand)}ul.included li:last-child{border-bottom:none}ul.included .q{color:var(--muted);font-size:.9em}.proposal .total{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 8px;padding:20px 0;border-top:2px solid;border-bottom:2px solid}.proposal .total span{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.proposal .total strong{font-family:var(--f-display);font-size:2.5rem;letter-spacing:-.025em}.deposit{font-size:14px;color:var(--ink-2);margin:0}.terms{font-size:12.5px;line-height:1.65;color:var(--muted);margin:0}.proposal footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);text-align:center}.proposal .biz{font-weight:700;margin:0 0 4px}.proposal .contact{font-size:13px;color:var(--muted);margin:0 0 16px}.proposal .mock{font-size:10.5px;line-height:1.6;color:var(--muted);margin:0}@media print{.proposal-bar{display:none}body{background:#fff}.proposal{box-shadow:none;border:none;margin:0;padding:0;max-width:none}}@media(max-width:620px){.proposal{padding:32px 24px}}.topnav{border-bottom:1px solid var(--rule);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topnav-in{max-width:920px;margin:0 auto;padding:0 22px;height:56px;display:flex;align-items:center;gap:26px}.topnav .mark{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}.topnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto}.topnav li a{display:block;padding:7px 12px;border-radius:7px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}.topnav li a:hover{color:var(--ink);background:var(--surface-2)}.topnav li a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.topnav+.wrap header.mast{padding-top:44px}@media print{.topnav{display:none}}.go.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);text-decoration:none;display:inline-block;text-align:center}.go.ghost:hover{background:var(--accent-soft)}.palette{display:flex;flex-direction:column;gap:14px}.pglabel{font-family:var(--f-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-weight:600}.pchips{display:flex;flex-wrap:wrap;gap:7px}.chip{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),inset 0 3px 5px rgba(255,255,255,.4);outline-offset:2px;transition:transform .08s ease}.chip:hover{transform:scale(1.12)}.chip.on{border-color:var(--ink);box-shadow:inset 0 -3px 6px rgba(0,0,0,.16),0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.chip.chrome{box-shadow:inset 0 -4px 8px rgba(0,0,0,.3),inset 0 4px 7px rgba(255,255,255,.75)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pchosen{margin:2px 0 0;font-size:13px;color:var(--muted);font-weight:600}.preview{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--rule);border-radius:12px;overflow:hidden}.preview svg{display:block;width:100%;height:auto}.preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--rule)}.preview-head span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600}.shuffle{background:none;border:1px solid var(--rule-strong);border-radius:6px;padding:4px 10px;cursor:pointer;font-family:var(--f-body);font-size:12px;font-weight:600;color:var(--ink-2)}.shuffle:hover{border-color:var(--accent);color:var(--accent)}figure.mock{margin:26px 0 8px;padding:0;background:transparent}figure.mock svg{display:block;width:100%;height:auto}ul.swatches{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;font-weight:600}ul.swatches li{display:flex;align-items:center;gap:8px}ul.swatches .dot{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 -2px 4px rgba(0,0,0,.18),inset 0 2px 3px rgba(255,255,255,.45)}.proposal .disclaimer{font-size:10.5px;line-height:1.6;color:var(--muted);margin:0}.navend{margin-left:auto}.navlink-btn{background:none;border:none;cursor:pointer;padding:7px 12px;border-radius:7px;font-family:var(--f-body);font-size:14px;font-weight:600;color:var(--muted);text-decoration:none}.navlink-btn:hover{color:var(--ink);background:var(--surface-2)}.stats{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:8px}.stats div{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}.stats span{font-size:12px;color:var(--muted);font-weight:600}.stats b{font-family:var(--f-display);font-size:1.9rem;letter-spacing:-.02em;line-height:1}.stats i{font-family:var(--f-mono);font-style:normal;font-size:13px;color:var(--accent);font-weight:600}.joblink{color:var(--ink);font-weight:700;text-decoration:none}.joblink:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}select.status{width:auto;padding:5px 9px;font-size:12px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:20px}.savebar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.savebar .go{width:auto;flex:1 1 220px}.savebar .go.ghost{flex:0 0 auto;padding:14px 22px}