:root{color:#182132;font-synthesis:none;background:#f5f6f8;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.calculator{--surface:#fff;--soft:color-mix(in srgb, var(--ls-primary) 6%, white);min-height:100vh;color:var(--ls-text);font-family:var(--ls-font,Inter, ui-sans-serif, system-ui, sans-serif);background:#f5f6f8}.brand-bar,.hero,.workspace,footer{max-width:1180px;margin:auto}.brand-bar{background:var(--surface);border-inline:1px solid var(--ls-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.brand-bar h1,.hero h2{letter-spacing:-.035em;margin:0}.brand-bar h1{overflow-wrap:anywhere;font-size:clamp(1.1rem,3.4vw,1.6rem);line-height:1.15}.brand-bar a{color:var(--ls-primary);font-weight:700;text-decoration:none}.eyebrow{color:var(--ls-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:800}.hero{background:linear-gradient(135deg, var(--soft), white);border-inline:1px solid var(--ls-border);text-align:center;justify-content:center;gap:2rem;padding:2rem 1.5rem 1.5rem;display:flex}.hero h2{max-width:24ch;margin-inline:auto;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15}.hero p:not(.eyebrow){max-width:40rem;color:var(--ls-muted);margin-inline:auto}.brand-identity{align-items:center;gap:.9rem;min-width:0;display:flex}.firm-logo{object-fit:contain;width:auto;max-width:12rem;max-height:2.75rem}.print-button{color:var(--ls-primary);border:1px solid var(--ls-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.45rem;padding:.75rem 1rem}.workspace{border:1px solid var(--ls-border);background:var(--surface);grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);align-items:start;gap:1px;display:grid}.inputs,.results{background:var(--surface)}.inputs{gap:1rem;padding:1.5rem;display:grid}fieldset{border:1px solid var(--ls-border);border-radius:.55rem;gap:.9rem;min-width:0;margin:0;padding:1.25rem;display:grid}legend{padding:0 .35rem;font-weight:800}label{gap:.35rem;font-size:.88rem;font-weight:650;display:grid}input,select{width:100%;min-height:2.7rem;color:var(--ls-text);border:1px solid var(--ls-border);background:#fff;border-radius:.35rem;padding:.55rem .7rem}.money-input{border:1px solid var(--ls-border);background:#fff;border-radius:.35rem;grid-template-columns:2.5rem 1fr;align-items:center;display:grid;overflow:hidden}.money-input span{min-height:2.7rem;color:var(--ls-muted);border-right:1px solid var(--ls-border);place-items:center;display:grid}.money-input input{border:0;border-radius:0}.toggle{cursor:pointer;align-items:center;gap:.6rem;display:flex}.toggle input{width:1.1rem;min-height:1.1rem;accent-color:var(--ls-primary)}.field-help{color:var(--ls-muted);margin:-.15rem 0 .2rem;font-size:.82rem;line-height:1.45}.turnstile{min-height:65px;overflow:hidden}.email-button{color:#fff;background:var(--ls-primary);border:1px solid var(--ls-primary);cursor:pointer;border-radius:.35rem;min-height:2.7rem;padding:.6rem .9rem;font-weight:750}.email-button:disabled{cursor:wait;opacity:.7}.form-message{color:var(--ls-muted);margin:0;font-size:.85rem;line-height:1.4}.print-hint{color:var(--ls-text);background:color-mix(in srgb, var(--ls-primary) 8%, white);border-radius:.35rem;margin:.7rem 0 0;padding:.6rem .75rem;font-size:.85rem;line-height:1.5}.print-hint kbd{font:inherit;border:1px solid var(--ls-border);background:#fff;border-radius:.25rem;padding:.1rem .35rem;font-weight:700}.results{padding:1.5rem}.result-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.result-actions .print-button{flex:12rem}.email-cta{color:var(--surface);background:var(--ls-primary);border:1px solid var(--ls-primary);cursor:pointer;white-space:nowrap;border-radius:.45rem;flex:12rem;padding:.75rem 1rem;font-weight:700}.email-cta:hover{filter:brightness(1.08)}#email-estimate-form{margin-top:1rem}.answer-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.answer{border:1px solid var(--ls-border);border-radius:.55rem;padding:1rem}.answer span{color:var(--ls-muted);font-size:.8rem;font-weight:700;display:block}.answer strong{letter-spacing:-.035em;margin-top:.3rem;font-size:1.35rem;display:block}.answer small{margin-top:.4rem;font-size:.75rem;line-height:1.35;display:block}.answer.featured{color:#fff;background:var(--ls-primary);border-color:var(--ls-primary);grid-column:1/-1}.answer.featured span{color:#ffffffb3}.answer.featured small{color:#ffffffc7}.breakdown{margin-top:1.8rem}.breakdown h2{margin:0 0 1rem;font-size:1.1rem}.allocation-legend{color:var(--ls-muted);margin:-.55rem 0 .75rem;font-size:.78rem}.row-group{margin-top:1rem}.row-group h3{letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--ls-border);margin:0;padding:.65rem 0;font-size:.8rem}.line-row{border-bottom:1px solid color-mix(in srgb, var(--ls-border) 65%, transparent);grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.7rem 0;font-size:.92rem;display:grid}.line-row>span:last-of-type{font-weight:750}.line-row small{color:var(--ls-muted);grid-column:1/-1}footer{color:var(--ls-muted);background:var(--surface);border-inline:1px solid var(--ls-border);border-bottom:1px solid var(--ls-border);padding:1.5rem;font-size:.78rem}.load-state{color:#182132;place-items:center;min-height:100vh;padding:2rem;font:600 1rem/1.5 Inter,ui-sans-serif,system-ui;display:grid}@media (width<=760px){.brand-bar,.hero{text-align:center;flex-direction:column;align-items:center;gap:.4rem}.brand-bar{padding:1rem 1.15rem}.brand-identity{flex-direction:column;gap:.5rem}.firm-logo{max-width:9rem;max-height:2.4rem}.brand-bar a{color:var(--ls-muted);font-size:.85rem;font-weight:650}.workspace{grid-template-columns:1fr}.hero{padding-block:2.5rem 2rem}}.print-summary{display:none}@page{margin:.6in}@media print{:root,body,.calculator{background:#fff}.workspace{background:#fff;border:0}.inputs,.results{background:#fff}.brand-bar,.hero,.workspace,footer{border:0;max-width:none}.hero,.print-button,.inputs,.email-estimate,#email-estimate-form,.print-hint{display:none}.workspace{display:block}.results{padding:0}.answer-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}.answer{flex-direction:column;justify-content:center;height:100%;padding:.8rem .9rem;display:flex}.answer span{font-size:.68rem;line-height:1.25}.answer strong{margin-top:.35rem;font-size:1.1rem}.answer small{margin-top:.3rem;font-size:.65rem}.answer.featured{color:var(--ls-text);border-color:var(--ls-border);background:#fff;grid-column:auto}.answer.featured span{color:var(--ls-muted)}.firm-logo{max-height:2.25rem}.print-summary{margin:1rem 0 1.25rem;display:block}.print-meta{border-bottom:1px solid var(--ls-border);color:var(--ls-muted);justify-content:space-between;gap:1.5rem;padding-bottom:.6rem;font-size:.75rem;display:flex}.print-meta span:first-child{color:var(--ls-text);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.print-summary h2{margin:.9rem 0 .5rem;font-size:.95rem}.print-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.5rem;margin:0;display:grid}.print-summary dl>div{border-bottom:1px dotted var(--ls-border);justify-content:space-between;gap:1rem;padding-bottom:.18rem;font-size:.8rem;display:flex}.print-summary dt{color:var(--ls-muted)}.print-summary dd{text-align:right;margin:0;font-weight:600}.line-row{padding:.3rem 0;font-size:.8rem}.row-group h3{margin:.8rem 0 .2rem}.answer-grid{gap:.6rem}.print-summary,.answer-grid,.row-group,.line-row{break-inside:avoid}.breakdown h2{break-after:avoid}footer{border-top:1px solid var(--ls-border);margin-top:1.25rem;padding-top:.6rem;font-size:.7rem}}.estimate-sent{border:1px solid var(--ls-primary);background:var(--soft);text-align:center;border-radius:.55rem;padding:1.5rem}.sent-mark{background:var(--ls-primary);color:#fff;border-radius:999px;place-items:center;width:2.4rem;height:2.4rem;margin:0 auto .7rem;font-size:1.2rem;font-weight:800;display:grid}.estimate-sent h3{margin:0 0 .4rem;font-size:1.05rem}.estimate-sent p{color:var(--ls-muted);margin:0 0 .3rem;font-size:.88rem;line-height:1.5}.estimate-sent strong{color:var(--ls-text);overflow-wrap:anywhere}.estimate-sent .link-button{color:var(--ls-primary);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.8rem;padding:0;font-size:.85rem;font-weight:700;text-decoration:underline}
