font-size:1.4rem;line-height:1;} .option-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text);} .option-desc{font-size:var(--text-xs);color:var(--color-text-muted);} .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background var(--transition),color var(--transition),box-shadow var(--transition);} .btn-primary{background:var(--color-primary);color:#fff;} .btn-primary:hover{background:var(--color-primary-hover);} .btn-primary:active{background:var(--color-primary-active);} .btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);} .btn-ghost:hover{background:var(--color-surface-offset);color:var(--color-text);} .estimate-bar{position:sticky;top:var(--space-4);z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;} .estimate-bar-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600;margin-bottom:2px;} .estimate-range{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-primary);line-height:1;transition:all .4s cubic-bezier(.16,1,.3,1);} .estimate-range.zero{color:var(--color-text-faint);} .estimate-note{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:2px;} .result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);} .result-hero{background:linear-gradient(135deg,var(--color-primary-active) 0%,var(--color-primary) 100%);padding:var(--space-10) var(--space-8);text-align:center;color:#fff;} .result-hero-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:600;opacity:.75;margin-bottom:var(--space-3);} .result-amount{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:600;line-height:1;margin-bottom:var(--space-2);} .result-range-note{font-size:var(--text-sm);opacity:.75;} .result-breakdown{padding:var(--space-6) var(--space-8);} .result-breakdown h3{font-size:var(--text-lg);margin-bottom:var(--space-4);} .breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider);gap:var(--space-4);} .breakdown-item:last-child{border-bottom:none;} .breakdown-name{font-size:var(--text-sm);color:var(--color-text-muted);} .breakdown-value{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text);white-space:nowrap;} .result-cta-area{padding:var(--space-6) var(--space-8);background:linear-gradient(180deg,var(--color-success-highlight),var(--color-surface));border-top:1px solid var(--color-divider);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;} .result-cta-area p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:46ch;} /* ── CTA Button → mailto ── */ .btn-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--text-base);font-weight:600;text-decoration:none;transition:background var(--transition),transform var(--transition);} .btn-cta:hover{background:var(--color-primary-hover);transform:translateY(-1px);} .restart-btn{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:underline;background:none;border:none;cursor:pointer;padding:var(--space-2);} .restart-btn:hover{color:var(--color-text);} .disclaimer{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;line-height:1.6;max-width:60ch;margin-inline:auto;} .step{display:none;} .step.active{display:block;} .results-section{display:none;} .results-section.active{display:block;} @keyframes fadeSlideIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}} .step.active,.results-section.active{animation:fadeSlideIn .35s cubic-bezier(.16,1,.3,1);} @media(max-width:600px){ .form-grid{grid-template-columns:1fr;} .card-body{padding:var(--space-5);} .card-footer{padding:var(--space-4) var(--space-5);} .estimate-bar{padding:var(--space-3) var(--space-4);} .result-breakdown{padding:var(--space-5);} .result-hero{padding:var(--space-8) var(--space-5);} .result-cta-area{padding:var(--space-5);} } @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
Tradition Fine Cabinetry

Project Cost Estimator

Answer a few quick questions to get a preliminary investment range for your kitchen, bathroom, or cabinetry project in Palm Beach County.

Estimated Range
A planning range that updates as you complete each step
Request a Consultation
Step 1 of 4

What type of project?

Choose the space you'd like to remodel.

Step 2 of 4

Size & Scope

Tell us about the dimensions and complexity of the project.

Kitchens: typically 150–400 sq ft
Count upper, lower & pantry units
Step 3 of 4

Materials & Finish Level

Select the quality tier for cabinets and countertops.

Cabinet Quality

Countertop Material

Step 4 of 4

Additional Services

Select any extra services you may need (optional).

Your Preliminary Investment Range
$0

This estimate is designed to help you plan with more confidence before scheduling a personalized consultation.

Cost Breakdown

Your estimate is a helpful starting point. Book a free consultation with Tradition Fine Cabinetry to review your layout, materials, and project goals with a specialist.

Request My Free Consultation

* This estimator provides a preliminary budget range only and is not a final quote or contract. Actual pricing may vary based on measurements, layout changes, materials, finishes, site conditions, labor requirements, permits, and product availability. Final pricing is confirmed after consultation, field verification, and scope review. Tradition Fine Cabinetry proudly serves Jupiter, Palm Beach Gardens, North Palm Beach, and surrounding areas.