.calc-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:1024px){.calc-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:3rem;align-items:start}}.calc-inputs{display:grid;gap:1rem}.calc-fieldset{display:grid;gap:.625rem;padding:1.25rem 1.25rem 1rem;background:var(--color-bg-elevated);border:1px solid var(--color-hairline);border-radius:6px}.calc-fieldset-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.calc-fieldset-num{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent)}.calc-fieldset-title{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--color-ink);margin:0}.calc-fieldset-hint{font-size:.75rem;color:var(--color-ink-subtle);margin:0;line-height:1.45}.calc-row{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.calc-row-2{grid-template-columns:1fr 1fr}.calc-row-3{grid-template-columns:1fr 1fr 1fr}.calc-row-4{grid-template-columns:1.2fr 1fr 1fr 1fr}}.adders-list{display:grid;gap:.625rem}.adder-row{display:grid;grid-template-columns:1fr auto auto;gap:.625rem;align-items:center}.adder-row-empty{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--color-ink-subtle);padding:.875rem 1rem;border:1px dashed var(--color-hairline-strong);border-radius:4px;text-align:center}.adder-remove{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-hairline);border-radius:4px;color:var(--color-ink-subtle);transition:border-color .12s,color .12s}.adder-remove:hover{border-color:var(--color-accent);color:var(--color-accent)}.adder-add{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:1px dashed var(--color-hairline-strong);border-radius:4px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);transition:border-color .12s,color .12s}.adder-add:hover{border-color:var(--color-accent);color:var(--color-accent)}.adders-total{display:flex;justify-content:space-between;align-items:baseline;padding:.625rem .875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px;font-family:var(--font-mono);font-size:.875rem}.adders-total-label{color:var(--color-ink-subtle);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.adders-total-amount{color:var(--color-ink)}.calc-output{position:sticky;top:calc(64px + 1.5rem);display:grid;gap:1.5rem;padding:2rem;background:var(--color-bg-elevated);border:1px solid var(--color-hairline);border-radius:6px;box-shadow:var(--shadow-elevated)}.calc-output-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-hairline);padding-bottom:1.25rem}.calc-output-eyebrow{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle)}.calc-output-eyebrow strong{color:var(--color-accent);font-weight:500}.calc-output-title{font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--color-ink);margin:0}.calc-output-headline{display:grid;gap:.375rem}.calc-output-headline-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle)}.calc-output-headline-amount{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:500;line-height:1;letter-spacing:-.01em;color:var(--color-ink)}.calc-output-headline-amount.is-accent{color:var(--color-accent)}.calc-output-row{display:grid;gap:.375rem}.calc-output-row-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-subtle)}.calc-output-row-value{font-family:var(--font-display);font-style:italic;font-size:1.875rem;font-weight:500;line-height:1;color:var(--color-ink)}.calc-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1rem}.calc-output-breakdown{display:grid;gap:.5rem;border-top:1px solid var(--color-hairline);padding-top:1.25rem}.calc-output-breakdown-row{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:.8125rem;color:var(--color-ink-muted);padding:.25rem 0}.calc-output-breakdown-row.is-positive{color:var(--color-accent-strong)}.calc-output-breakdown-row.is-negative{color:var(--color-info)}.calc-output-breakdown-row.is-total{border-top:1px solid var(--color-hairline);margin-top:.5rem;padding-top:.875rem;color:var(--color-ink);font-weight:600}.calc-output-breakdown-row .label{letter-spacing:.04em}.calc-output-breakdown-row .amount{font-variant-numeric:tabular-nums}.calc-output-empty{text-align:center;padding:2rem 1rem;color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.06em;line-height:1.6}.calc-output-actions{display:flex;flex-wrap:wrap;gap:.625rem;border-top:1px solid var(--color-hairline);padding-top:1.25rem}.calc-share-status{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);align-self:center;margin-left:.5rem}.preset-chips{display:inline-flex;flex-wrap:wrap;gap:.5rem}.preset-chip{padding:.5rem .875rem;border:1px solid var(--color-hairline-strong);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--color-ink-muted);transition:border-color .12s,background .12s,color .12s}.preset-chip:hover{border-color:var(--color-accent);color:var(--color-ink)}.preset-chip.is-active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.preset-note{font-size:.8125rem;color:var(--color-ink-muted);line-height:1.55;margin:.5rem 0 0}.dac-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-info-soft);border-radius:999px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-info);margin-top:.625rem}.home-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.home-type-chip{display:grid;gap:.25rem;padding:.625rem .75rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline-strong);border-radius:6px;text-align:left;transition:border-color .12s,background .12s}.home-type-chip:hover:not(:disabled){border-color:var(--color-accent)}.home-type-chip.is-active{border-color:var(--color-accent);background:var(--color-accent-soft)}.home-type-chip:disabled{opacity:.45;cursor:not-allowed}.home-type-label{font-family:var(--font-display);font-style:italic;font-size:.9375rem;color:var(--color-ink)}.home-type-rebate{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--color-ink-muted);display:flex;flex-direction:column;gap:.125rem}.home-type-rebate .home-type-dac{color:var(--color-info);font-size:.6875rem;letter-spacing:.06em}.rebate-toggles{display:grid;gap:.5rem;margin-top:.25rem}@media(min-width:540px){.rebate-toggles{grid-template-columns:1fr 1fr}}.toggle-row{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem .625rem;border:1px solid var(--color-hairline);border-radius:4px;cursor:pointer;transition:border-color .12s,background .12s}.toggle-row:hover:not(.is-disabled){border-color:var(--color-hairline-strong)}.toggle-row.is-disabled{opacity:.55;cursor:not-allowed}.toggle-row-text{display:grid;gap:.125rem}.toggle-row-label{font-size:.9375rem;color:var(--color-ink)}.toggle-row-hint{font-size:.75rem;color:var(--color-ink-subtle);line-height:1.5}.rebate-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.5rem;padding:.75rem .875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px}.rebate-summary-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle)}.rebate-summary-amount{font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--color-accent);font-variant-numeric:tabular-nums}.catalog-groups{display:grid;gap:1.25rem}.catalog-group-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle);margin:0 0 .5rem}.catalog-rows{display:grid;gap:.375rem}.catalog-row{display:grid;grid-template-columns:1fr auto;gap:.625rem;align-items:stretch;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px;transition:border-color .12s,background .12s;overflow:hidden}.catalog-row.is-active{border-color:var(--color-accent);background:#ff5f5f0d}.catalog-row.is-fixed{opacity:.85}.catalog-row-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.625rem .875rem;text-align:left;font:inherit;color:inherit}.catalog-row-unit .catalog-row-main{grid-template-columns:1fr auto}.catalog-row-main:hover:not(:disabled){background:#ffffff05}.catalog-row-main:disabled{cursor:not-allowed}.catalog-row-name{font-size:.9375rem;color:var(--color-ink);display:inline-flex;align-items:center;gap:.5rem}.catalog-row-price{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.catalog-row.is-active .catalog-row-price{color:var(--color-accent)}.qty-stepper{display:inline-flex;align-items:center;gap:0;border-left:1px solid var(--color-hairline)}.qty-btn{width:2.25rem;height:100%;min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1rem;color:var(--color-ink-muted);transition:color .12s,background .12s}.qty-btn:hover:not(:disabled){background:#ffffff0a;color:var(--color-accent)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-input{width:2.5rem;height:100%;min-height:2.5rem;background:transparent;border:0;border-left:1px solid var(--color-hairline);border-right:1px solid var(--color-hairline);text-align:center;font-family:var(--font-mono);font-size:.875rem;color:var(--color-ink);font-variant-numeric:tabular-nums}.qty-input:focus{outline:none;background:#ff5f5f0d}.adder-check{width:1.125rem;height:1.125rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-hairline-strong);border-radius:3px;background:var(--color-bg);font-size:.75rem;color:var(--color-bg-cta);flex-shrink:0}.adder-check.is-checked{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-cta)}.adder-required{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-subtle);padding:.125rem .4rem;border:1px solid var(--color-hairline);border-radius:999px}.variant-picker{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem;padding:.625rem .875rem .875rem;border-top:1px solid var(--color-hairline)}.variant-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--color-bg);border:1px solid var(--color-hairline-strong);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-ink-muted);transition:border-color .12s,background .12s,color .12s}.variant-chip:hover{border-color:var(--color-accent);color:var(--color-ink)}.variant-chip.is-active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.variant-chip-price{color:var(--color-ink-subtle);font-size:.6875rem}.variant-hint{flex-basis:100%;margin:.25rem 0 0;font-size:.75rem;color:var(--color-ink-subtle);line-height:1.5}.catalog-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px;margin-top:.5rem}.catalog-total-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle)}.catalog-total-amount{font-family:var(--font-mono);font-size:.9375rem;color:var(--color-ink);font-variant-numeric:tabular-nums}.calc-output-lineitems{display:grid;gap:.375rem;padding:1rem 0;border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline)}.calc-lineitem{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-family:var(--font-mono);font-size:.8125rem}.calc-lineitem-label{color:var(--color-ink);display:inline-flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.calc-lineitem-qty{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);padding:.05rem .4rem;border:1px solid var(--color-accent-soft);border-radius:999px;background:var(--color-accent-soft)}.calc-lineitem-amount{color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.adder-quickadd{display:flex;flex-wrap:wrap;gap:.4rem;padding:.875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:6px}.quickadd-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .875rem;background:transparent;border:1px solid var(--color-hairline-strong);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-ink-muted);transition:border-color .12s,background .12s,color .12s,transform .12s}.quickadd-chip:hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink);transform:translateY(-1px)}.quickadd-chip:active{transform:translateY(0)}.quickadd-chip-plus{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border:1px solid currentColor;border-radius:999px;font-size:.875rem;line-height:1;flex-shrink:0}.quickadd-chip-custom{border-style:dashed;color:var(--color-ink-subtle)}.quickadd-chip-custom:hover{border-style:solid}.adder-empty{margin:.875rem 0 0;padding:.875rem 1rem;border:1px dashed var(--color-hairline-strong);border-radius:4px;text-align:center;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-ink-subtle)}.adder-rows{display:grid;gap:.5rem;margin-top:.875rem}.adder-row{display:grid;grid-template-columns:1fr 160px auto;gap:.5rem;align-items:center;padding:.5rem .625rem .5rem .875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px;transition:border-color .12s}.adder-row.is-priced{border-color:var(--color-hairline-strong)}.adder-row-label{font-size:.9375rem;color:var(--color-ink)}.adder-row-label-input{background:transparent!important;border-color:var(--color-hairline)!important;font-size:.9375rem!important;padding:.45rem .625rem!important}.adder-row-amount{width:100%}.adder-row-amount .field-input{padding:.45rem .625rem .45rem 1.5rem;font-size:.875rem}.adder-row-amount .field-prefix-symbol{left:.625rem;font-size:.875rem}.adder-row-remove{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-hairline);border-radius:4px;color:var(--color-ink-subtle);font-size:1rem;line-height:1;transition:border-color .12s,color .12s}.adder-row-remove:hover{border-color:var(--color-accent);color:var(--color-accent)}@media(max-width:480px){.adder-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.4rem}.adder-row-label,.adder-row-label-input{grid-column:1 / -1}.adder-row-amount{grid-column:1}.adder-row-remove{grid-column:2;grid-row:2}}.rebate-locked-callout{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;background:var(--color-warn-soft);border:1px solid var(--color-warn);border-radius:4px;font-size:.8125rem;line-height:1.55;color:var(--color-ink);margin-bottom:.875rem}.rebate-locked-callout strong{color:var(--color-warn);font-weight:600}.rebate-locked-icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;background:var(--color-warn);color:var(--color-bg-cta);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;font-weight:700}.calc-fieldset-tag{margin-left:auto;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-subtle);padding:.25rem .5rem;border:1px solid var(--color-hairline);border-radius:999px}.line-rows{display:grid;gap:.25rem;margin-top:.375rem}.line-row{display:grid;grid-template-columns:minmax(0,1.4fr) 140px 132px minmax(0,.9fr);gap:.5rem;align-items:center;padding:.4rem .625rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px;transition:border-color .12s}.line-row.is-priced{border-color:var(--color-hairline-strong);background:#ffffff04}.line-row-head{background:transparent;border:0;padding:0 .625rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-subtle)}.line-row-head>span:nth-child(2),.line-row-head>span:nth-child(3){text-align:left}.line-row-head>span:nth-child(4){text-align:right}.line-row-name{font-size:.9375rem;color:var(--color-ink);font-family:var(--font-display);font-style:italic}.line-row-price{width:100%}.line-row-price .field-input{padding:.45rem .625rem .45rem 1.5rem;font-size:.875rem;height:2.25rem}.line-row-price .field-prefix-symbol{left:.625rem;font-size:.875rem}.line-row-unit .qty-stepper{border-left:0;border:1px solid var(--color-hairline);border-radius:4px;background:var(--color-bg);height:2.25rem;overflow:hidden}.line-row-unit .qty-btn{min-height:2.25rem;width:2rem}.line-row-unit .qty-input{min-height:2.25rem;width:2.25rem;font-size:.8125rem}.line-row-total{font-family:var(--font-mono);font-size:.875rem;color:var(--color-ink-muted);font-variant-numeric:tabular-nums;text-align:right}.line-row.is-priced .line-row-total{color:var(--color-accent)}.line-row-adder,.line-row-head-adder{grid-template-columns:32px minmax(0,1.4fr) minmax(0,140px) 32px}.adder-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;user-select:none}.adder-toggle input{position:absolute;opacity:0;pointer-events:none}.adder-toggle-box{width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-hairline-strong);border-radius:4px;background:var(--color-bg);font-family:var(--font-mono);font-size:.75rem;color:var(--color-bg-cta);transition:background .12s,border-color .12s}.adder-toggle input:checked+.adder-toggle-box{background:var(--color-accent);border-color:var(--color-accent)}.adder-toggle input:focus-visible+.adder-toggle-box{outline:2px solid var(--color-accent);outline-offset:2px}.adder-custom-label-input{background:transparent!important;height:2.25rem;padding:.45rem .625rem!important;font-size:.9375rem!important;font-style:italic;font-family:var(--font-display)!important}.adder-remove-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-hairline);border-radius:4px;color:var(--color-ink-subtle);font-size:1rem;line-height:1;transition:border-color .12s,color .12s}.adder-remove-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.add-custom-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.625rem;padding:.5rem .875rem;background:transparent;border:1px dashed var(--color-hairline-strong);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--color-ink-muted);transition:border-color .12s,color .12s}.add-custom-btn:hover{border-style:solid;border-color:var(--color-accent);color:var(--color-accent)}.line-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.625rem;padding:.625rem .875rem;background:var(--color-bg-cta);border:1px solid var(--color-hairline);border-radius:4px}.line-total-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-subtle)}.line-total-amount{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--color-ink);font-variant-numeric:tabular-nums}@media(max-width:640px){.line-row,.line-row-head{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:.4rem}.line-row-head>span:nth-child(3),.line-row-head>span:nth-child(4){display:none}.line-row-name{grid-column:1 / -1;font-size:1rem}.line-row-price{grid-column:1}.line-row-unit .qty-stepper{grid-column:2;justify-self:end}.line-row-total{grid-column:1 / -1;text-align:left}.line-row-adder,.line-row-head-adder{grid-template-columns:32px 1fr 32px}.line-row-adder .line-row-name,.line-row-adder .adder-custom-label-input{grid-column:2;grid-row:1}.line-row-adder .line-row-price{grid-column:1 / -1;grid-row:2}.line-row-adder .adder-toggle{grid-column:1;grid-row:1}.line-row-adder .adder-remove-btn{grid-column:3;grid-row:1}}
