Contact Gencon | Free Remodeling Estimate — Clackamas County, OR /* ── Reset & Variables ── */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --charcoal: #1c1c1c; --warm-dark: #2a2218; --cream: #f7f3ed; --parchment: #ede8df; --gold: #b08d57; --gold-light: #c9a96e; --text: #2e2b26; --muted: #6b6560; --white: #ffffff; --serif: 'Cormorant Garamond', Georgia, serif; --sans: 'DM Sans', system-ui, sans-serif; --radius: 2px; --section-pad: clamp(64px, 8vw, 120px); --container: 1200px; } html { scroll-behavior: smooth; } body { font-family: var(--sans); font-size: 16px; color: var(--text); background: var(--cream); line-height: 1.7; -webkit-font-smoothing: antialiased; } img { display: block; max-width: 100%; height: auto; } a { color: inherit; text-decoration: none; } .container { width: min(100%, var(--container)); margin-inline: auto; padding-inline: clamp(20px, 5vw, 60px); } /* ── Utility ── */ .eyebrow { font-family: var(--sans); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); } .section-title { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; line-height: 1.2; color: var(--warm-dark); } .section-title em { font-style: italic; color: var(--gold); } .body-text { font-size: 1.05rem; color: var(--muted); max-width: 64ch; line-height: 1.8; } .divider { width: 48px; height: 2px; background: var(--gold); margin: 20px 0 28px; } /* ── Buttons ── */ .btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; font-family: var(--sans); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: all 0.25s ease; border: none; } .btn-primary { background: var(--gold); color: var(--white); } .btn-primary:hover { background: var(--gold-light); transform: translateY(-1px); } .btn-outline { background: transparent; color: var(--warm-dark); border: 1.5px solid var(--warm-dark); } .btn-outline:hover { background: var(--warm-dark); color: var(--white); } .btn-ghost-white { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.6); } .btn-ghost-white:hover { background: rgba(255,255,255,0.12); } /* ══════════════════════════════════════ BREADCRUMB ══════════════════════════════════════ */ .breadcrumb { padding: 14px 0; background: var(--parchment); border-bottom: 1px solid rgba(176,141,87,0.15); } .breadcrumb ol { display: flex; align-items: center; gap: 8px; list-style: none; font-size: 0.8rem; color: var(--muted); } .breadcrumb li + li::before { content: '/'; opacity: 0.4; } .breadcrumb a { color: var(--muted); } .breadcrumb a:hover { color: var(--gold); } .breadcrumb [aria-current] { color: var(--gold); font-weight: 500; } /* ══════════════════════════════════════ HERO ══════════════════════════════════════ */ .hero { position: relative; min-height: clamp(480px, 60vh, 660px); display: flex; align-items: flex-end; overflow: hidden; } .hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; } .hero-overlay { position: absolute; inset: 0; background: linear-gradient( to top, rgba(26,20,12,0.88) 0%, rgba(26,20,12,0.55) 45%, rgba(26,20,12,0.2) 100% ); z-index: 1; } .hero-content { position: relative; z-index: 2; padding: 0 0 clamp(48px, 7vw, 90px); width: 100%; } .hero-content .eyebrow { color: var(--gold-light); margin-bottom: 16px; } .hero-h1 { font-family: var(--serif); font-size: clamp(2.4rem, 5.5vw, 4rem); font-weight: 500; line-height: 1.15; color: var(--white); max-width: 720px; margin-bottom: 20px; } .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.82); max-width: 560px; margin-bottom: 36px; line-height: 1.7; } .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; } .hero-badge { position: absolute; top: 32px; right: clamp(20px, 5vw, 60px); z-index: 3; background: rgba(176,141,87,0.92); color: white; padding: 14px 20px; text-align: center; backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,0.2); } .hero-badge-num { font-family: var(--serif); font-size: 2.2rem; font-weight: 600; line-height: 1; display: block; } .hero-badge-label { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.9; } @media (max-width: 600px) { .hero-badge { display: none; } } /* ══════════════════════════════════════ TRUST BAR ══════════════════════════════════════ */ .trust-bar { background: var(--warm-dark); padding: 20px 0; } .trust-bar-inner { display: flex; align-items: center; justify-content: center; gap: clamp(24px, 5vw, 60px); flex-wrap: wrap; } .trust-item { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.85); font-size: 0.82rem; font-weight: 400; letter-spacing: 0.04em; } .trust-item svg { flex-shrink: 0; } /* ══════════════════════════════════════ CONTACT METHODS GRID ══════════════════════════════════════ */ .contact-methods { padding: var(--section-pad) 0 clamp(40px, 5vw, 60px); } .contact-methods-header { text-align: center; margin-bottom: 56px; } .contact-methods-header .divider { margin-inline: auto; } .contact-methods-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2px; } .contact-method-card { background: var(--white); padding: 40px 32px; text-align: center; transition: transform 0.25s ease, box-shadow 0.25s ease; display: flex; flex-direction: column; align-items: center; } .contact-method-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.1); } .contact-method-icon { width: 56px; height: 56px; background: var(--gold); display: flex; align-items: center; justify-content: center; margin-bottom: 22px; } .contact-method-icon svg { color: white; } .contact-method-label { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; } .contact-method-value { font-family: var(--serif); font-size: 1.25rem; font-weight: 600; color: var(--warm-dark); line-height: 1.4; margin-bottom: 6px; word-break: break-word; } .contact-method-value a:hover { color: var(--gold); } .contact-method-sub { font-size: 0.85rem; color: var(--muted); line-height: 1.6; } /* ══════════════════════════════════════ CONTACT FORM SECTION ══════════════════════════════════════ */ .form-section { padding: clamp(40px, 6vw, 80px) 0 var(--section-pad); } .form-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(40px, 6vw, 90px); align-items: stretch; } .form-wrap { background: var(--white); padding: clamp(32px, 4vw, 56px); border-top: 3px solid var(--gold); } .form-wrap .eyebrow { margin-bottom: 12px; } .form-wrap .section-title { font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: 16px; } .form-wrap .body-text { font-size: 0.95rem; margin-bottom: 28px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; } .form-field { margin-bottom: 16px; } .form-field label { display: block; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--warm-dark); margin-bottom: 6px; font-weight: 500; } .form-field input, .form-field select, .form-field textarea { width: 100%; padding: 12px 14px; font-family: var(--sans); font-size: 0.95rem; color: var(--text); background: var(--cream); border: 1px solid rgba(176,141,87,0.25); transition: border-color 0.2s, background 0.2s; } .form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: none; border-color: var(--gold); background: var(--white); } .form-field textarea { resize: vertical; min-height: 120px; font-family: var(--sans); } .form-field-required::after { content: ' *'; color: var(--gold); } .form-submit-wrap { margin-top: 8px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .form-note { font-size: 0.78rem; color: var(--muted); max-width: 280px; } .form-status { margin-top: 16px; padding: 12px 16px; font-size: 0.9rem; display: none; } .form-status.success { display: block; background: rgba(176,141,87,0.12); border-left: 3px solid var(--gold); color: var(--warm-dark); } .form-aside { background: var(--warm-dark); color: var(--white); padding: clamp(36px, 5vw, 56px); display: flex; flex-direction: column; justify-content: space-between; gap: 32px; position: relative; overflow: hidden; } .form-aside-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.18; z-index: 0; } .form-aside-content { position: relative; z-index: 1; } .form-aside .eyebrow { color: var(--gold-light); } .form-aside h3 { font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 500; color: var(--white); margin: 12px 0 18px; line-height: 1.25; } .form-aside p { color: rgba(255,255,255,0.8); font-size: 0.95rem; line-height: 1.7; margin-bottom: 16px; } .form-aside-list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-top: 24px; } .form-aside-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 0.92rem; color: rgba(255,255,255,0.85); } .form-aside-check { width: 18px; height: 18px; background: var(--gold); flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-top: 2px; } .form-aside-check svg { color: white; } @media (max-width: 820px) { .form-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } } /* ══════════════════════════════════════ PROCESS / WHAT HAPPENS NEXT ══════════════════════════════════════ */ .process { background: var(--warm-dark); padding: var(--section-pad) 0; color: var(--white); } .process .section-title { color: var(--white); } .process .section-title em { color: var(--gold-light); } .process .divider { background: var(--gold); } .process .body-text { color: rgba(255,255,255,0.7); } .process-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; margin-top: 56px; position: relative; } .process-step { padding: 0 32px 0 0; position: relative; } .process-step + .process-step { padding-left: 32px; border-left: 1px solid rgba(176,141,87,0.3); } .step-num { font-family: var(--serif); font-size: 3.5rem; font-weight: 600; color: rgba(176,141,87,0.25); line-height: 1; margin-bottom: 16px; } .step-title { font-family: var(--serif); font-size: 1.1rem; font-weight: 600; color: var(--white); margin-bottom: 10px; } .step-body { font-size: 0.88rem; color: rgba(255,255,255,0.65); line-height: 1.7; } @media (max-width: 640px) { .process-steps { grid-template-columns: 1fr; gap: 36px; } .process-step + .process-step { border-left: none; padding-left: 0; border-top: 1px solid rgba(176,141,87,0.3); padding-top: 36px; } } /* ══════════════════════════════════════ SERVICE AREA SECTION ══════════════════════════════════════ */ .service-area { padding: var(--section-pad) 0; } .service-area-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: center; } .areas-list { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; margin-top: 28px; } .areas-list li { display: flex; align-items: center; gap: 10px; font-size: 0.95rem; color: var(--text); } .areas-list a:hover { color: var(--gold); } .areas-bullet { width: 6px; height: 6px; background: var(--gold); flex-shrink: 0; border-radius: 50%; } @media (max-width: 768px) { .service-area-grid { grid-template-columns: 1fr; } .areas-list { grid-template-columns: 1fr; } } /* ══════════════════════════════════════ FAQ ══════════════════════════════════════ */ .faq { background: var(--parchment); padding: var(--section-pad) 0; } .faq-header { text-align: center; margin-bottom: 56px; } .faq-header .divider { margin-inline: auto; } .faq-list { max-width: 820px; margin-inline: auto; display: flex; flex-direction: column; gap: 2px; } .faq-item { background: var(--white); border-left: 3px solid transparent; transition: border-color 0.2s; } .faq-item.open { border-color: var(--gold); } .faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 28px; background: none; border: none; cursor: pointer; text-align: left; font-family: var(--serif); font-size: 1.1rem; font-weight: 500; color: var(--warm-dark); transition: color 0.2s; } .faq-q:hover { color: var(--gold); } .faq-icon { width: 20px; height: 20px; flex-shrink: 0; position: relative; } .faq-icon::before, .faq-icon::after { content: ''; position: absolute; background: var(--gold); transition: transform 0.3s ease; } .faq-icon::before { width: 2px; height: 100%; left: 50%; top: 0; transform: translateX(-50%); } .faq-icon::after { width: 100%; height: 2px; top: 50%; left: 0; transform: translateY(-50%); } .faq-item.open .faq-icon::before { transform: translateX(-50%) scaleY(0); } .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; } .faq-a-inner { padding: 0 28px 24px; font-size: 0.95rem; color: var(--muted); line-height: 1.8; } /* ══════════════════════════════════════ CTA BAND ══════════════════════════════════════ */ .cta-band { background: linear-gradient(135deg, var(--warm-dark) 0%, #1a1208 100%); padding: clamp(56px, 8vw, 100px) 0; text-align: center; position: relative; overflow: hidden; } .cta-band::before { content: ''; position: absolute; inset: 0; background-image: repeating-linear-gradient( 45deg, transparent, transparent 40px, rgba(176,141,87,0.03) 40px, rgba(176,141,87,0.03) 41px ); } .cta-band-inner { position: relative; z-index: 1; } .cta-band .eyebrow { color: var(--gold-light); } .cta-band h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; color: var(--white); margin: 16px 0 12px; line-height: 1.2; } .cta-band p { color: rgba(255,255,255,0.7); font-size: 1.05rem; max-width: 540px; margin: 0 auto 36px; } .cta-band-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; } .cta-phone-link { font-family: var(--serif); font-size: 1.6rem; color: var(--gold-light); font-weight: 500; display: block; margin-bottom: 28px; } .cta-phone-link:hover { color: var(--white); } /* ══════════════════════════════════════ RELATED LINKS ══════════════════════════════════════ */ .related { padding: clamp(48px, 6vw, 80px) 0; } .related-header { text-align: center; margin-bottom: 40px; } .related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2px; } .related-card { background: var(--parchment); padding: 28px 24px; display: flex; align-items: center; gap: 14px; transition: background 0.2s; } .related-card:hover { background: var(--gold); color: white; } .related-card:hover .related-label, .related-card:hover .related-arrow, .related-card:hover .related-title { color: white; } .related-icon { flex-shrink: 0; } .related-title { font-family: var(--serif); font-size: 1rem; font-weight: 600; color: var(--warm-dark); display: block; } .related-label { font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold); } .related-arrow { margin-left: auto; color: var(--gold); }
  1. Home
  2. Contact
The Gencon brothers — Max, Alex, and Oleg — Clackamas County remodeling team
Free In-Home
Estimates

Get In Touch With Clackamas County's Family-Owned Remodelers

Let's Build Something
Beautiful, Together.

Whether you're ready for a full remodel or just exploring possibilities, Max, Alex, and Oleg are here to listen. Reach out for a free, no-pressure consultation anywhere in Clackamas County, Oregon.

Request a Free Estimate 503-825-0123
Licensed & Insured
Family-Owned & Operated
Three Brothers, One Standard
Reply Within One Business Day
Free, No-Pressure Estimates

How To Reach Us

Four Easy Ways to Connect

Pick whichever way is most convenient. Every inquiry reaches a Gencon brother directly — no call centers, no gatekeepers.

Call Us
503-825-0123

Fastest response. We answer during business hours.

Email
office@genconnw.com

Best for project details and inspiration photos.

Office Hours
Mon–Fri
8am – 5pm

Closed Saturday and Sunday. Form submissions welcome anytime.

Service Area
Clackamas, OR

Serving all of Clackamas County and surrounding areas.

Request Your Free Estimate

Tell us about your project.

Fill out the form below and one of the Gencon brothers will be in touch within one business day to schedule your free in-home consultation.

We respect your privacy. Your details are only used to respond to your inquiry.

What's Included

Your Free Consultation Covers Everything.

When you reach out, we don't send a salesperson — one of the three Gencon brothers visits your home personally. Here's what to expect:

  • An in-home walkthrough with one of the founders
  • Honest feedback on your goals and budget
  • Clear, written quote with no hidden fees
  • Zero pressure — take your time to decide

What Happens Next

From Hello to Handoff

Reaching out is the easy part. Here's exactly what to expect after you submit your request — no surprises, no high-pressure tactics.

01
Quick Reply

Within one business day, one of the brothers will reach out by phone or email to confirm your details and schedule a visit at a time that works for you.

02
In-Home Walkthrough

We come to you. We'll walk the space, ask questions, take measurements, and listen carefully to your vision — no commitment required.

03
Honest Written Quote

Within a few days you'll receive a clear, itemized estimate with realistic timelines. We're transparent about costs from the start.

04
You Decide When

Take all the time you need. When you're ready, we'll schedule the build, handle permits, and start crafting the home you've been picturing.

Where We Work

Proudly Serving
Clackamas County

Gencon is based in Clackamas, Oregon, and travels throughout the county for in-home consultations. If you don't see your city listed, get in touch — we frequently take on projects in surrounding areas as well.

  • Oregon City
  • Lake Oswego
  • Happy Valley
  • Milwaukie
  • West Linn
  • Canby
  • Sandy
  • Gladstone
Recently completed Gencon kitchen remodel in Clackamas County, Oregon

Common Questions

Before You Reach Out

Yes, completely. Every Gencon estimate is free with no obligation. One of the brothers will visit your home, listen to your vision, walk through the space, and follow up with a clear, written quote. There's no pressure to move forward — many homeowners take weeks to decide, and that's fine with us.
We respond to all phone calls and form submissions within one business day, Monday through Friday. For urgent timelines, calling 503-825-0123 directly during business hours (8am–5pm) is the fastest way to lock in a consultation date.
It helps to know roughly which rooms you'd like to remodel, your ideal timeline, and a rough budget range. Inspiration photos are welcome but not required — our design-first process will help shape the vision once we visit. If you only have a vague idea, that's okay; that's exactly what the consultation is for.
Gencon serves homeowners throughout Clackamas County, Oregon — including Oregon City, Lake Oswego, Happy Valley, Milwaukie, West Linn, Canby, Sandy, Gladstone, and surrounding communities. Our office is based in Clackamas, OR, and we're happy to discuss projects in nearby cities not listed.
Our office hours are Monday through Friday, 8:00 AM to 5:00 PM. We are closed Saturdays and Sundays. You can submit the contact form on this page anytime — we'll reply the next business day.
For most projects we strongly recommend an in-person walkthrough so we can accurately assess the space, structural details, and conditions on the ground. That said, we're happy to begin with a phone or video call to discuss scope and budget before scheduling the in-home estimate.
Yes. Gencon is fully licensed and insured to perform residential construction and remodeling work in the state of Oregon. We're happy to provide license details and proof of insurance during your consultation — just ask.

Prefer To Talk?

Call Us Direct

Sometimes a 5-minute conversation answers more questions than a hundred emails. Pick up the phone — one of the brothers will answer during business hours.

503-825-0123
Send a Message Instead Email Us

Mon–Fri 8am–5pm · Clackamas, OR · office@genconnw.com

Explore More

Browse Our Services

Service Kitchen Remodeling
→
Service Bathroom Remodeling
→
Service ADU Construction
→
Company Meet the Brothers
→
Locations All Service Areas
→
Gencon — Clackamas County Remodeling
  • Services
    What We Do Kitchen Remodeling Bathroom Remodeling ADU Construction Basement Finishing Flooring Home Additions
  • Service Areas
    Clackamas County Oregon City Lake Oswego Happy Valley Milwaukie West Linn Canby Sandy Gladstone
  • About
  • Reviews
  • FAQ
Get a Free Estimate
Services Kitchen Remodeling Bathroom Remodeling ADU Construction Basement Finishing Flooring Home Additions Service Areas Oregon City Lake Oswego Happy Valley Milwaukie West Linn Canby Sandy Gladstone Company About Reviews FAQ Get a Free Estimate
Gencon

Family-owned licensed general contractors delivering kitchen, bathroom, ADU, and full-home renovation services across Clackamas County, Oregon.

  • 503-825-0123
  • office@genconnw.com
  • Mon–Fri: 8:00 AM – 5:00 PM
  • Clackamas, OR

Services

  • Kitchen Remodeling
  • Bathroom Remodeling
  • ADU Construction
  • Basement Finishing
  • Flooring
  • Home Additions

Service Areas

  • Oregon City
  • Lake Oswego
  • Happy Valley
  • Milwaukie
  • West Linn
  • Canby
  • Sandy
  • Gladstone

Company

  • About Us
  • Reviews
  • FAQ
  • Contact
  • All Service Areas
  • Privacy Policy
  • Terms of Service
© Gencon. All rights reserved. Clackamas County, OR.
Privacy Terms Contact