Professional House Painting Services Longview Vancouver WA | Interior Exterior Cabinet Painting | Bob's Paint Land * { margin: 0; padding: 0; box-sizing: border-box; } :root { --primary-black: #000000; --primary-white: #ffffff; --primary-red: #dc2626; --dark-red: #b91c1c; --primary-blue: #1d4ed8; --dark-blue: #1e40af; --primary-purple: #7c3aed; /* House Painting Services Color Progression - Warm to Cool */ --hero-red: #dc2626; /* Hero - Bold Red */ --interior-orange: #ea580c; /* Interior Services - Red-Orange */ --exterior-amber: #f59e0b; /* Exterior Services - Amber */ --cabinet-yellow: #eab308; /* Cabinet Services - Yellow */ --process-lime: #65a30d; /* Process - Lime Green */ --service-green: #059669; /* Service Areas - Green */ --benefits-teal: #0d9488; /* Benefits - Teal */ --pricing-sky: #0284c7; /* Pricing - Sky Blue */ --projects-blue: #2563eb; /* Projects - Blue */ --faq-indigo: #4f46e5; /* FAQ - Indigo */ --cta-purple: #7c3aed; /* CTA - Purple */ --footer-navy: #1e40af; /* Footer - Navy */ --dark-gray: #1a1a1a; --medium-gray: #333333; --light-gray: #666666; --border-gray: #e0e0e0; --shadow: rgba(0, 0, 0, 0.1); --accent-gray: #f8f8f8; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: var(--primary-black); background: var(--hero-red); overflow-x: hidden; margin: 0; padding: 0; } /* ===== NAVIGATION SYSTEM ===== */ .navbar { background: var(--primary-white); box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1); position: fixed; top: 0; left: 0; right: 0; z-index: 1000; transition: all 0.3s ease; } .navbar.scrolled { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); } .nav-container { display: flex; justify-content: space-between; align-items: center; padding: 1rem 20px; max-width: 1200px; margin: 0 auto; position: relative; } .nav-logo { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; color: var(--primary-black); font-weight: 800; font-size: 1.5rem; z-index: 1002; } .nav-logo img { width: 120px; height: 60px; object-fit: contain; } .nav-menu { display: flex; list-style: none; gap: 2rem; align-items: center; } .nav-link { text-decoration: none; color: var(--primary-black); font-weight: 500; font-size: 0.95rem; transition: all 0.3s ease; position: relative; padding: 0.5rem 0; } .nav-link:hover { color: var(--primary-red); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--primary-red); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .nav-dropdown { position: relative; } .dropdown-content { position: absolute; top: 100%; left: 0; background: var(--primary-white); min-width: 240px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); border-radius: 10px; padding: 1rem 0; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; border: 1px solid var(--border-gray); z-index: 1001; } .nav-dropdown:hover .dropdown-content { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown-link { display: block; padding: 0.8rem 1.5rem; color: var(--primary-black); text-decoration: none; font-size: 0.9rem; transition: all 0.3s ease; } .dropdown-link:hover { background: var(--accent-gray); color: var(--primary-red); } .nav-cta { display: flex; align-items: center; gap: 1rem; } .nav-phone { background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%); color: var(--primary-white); padding: 0.8rem 1.5rem; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.3s ease; display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; } .nav-phone:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(220, 38, 38, 0.3); } /* ===== MOBILE NAVIGATION ===== */ .mobile-menu-toggle { display: none; flex-direction: column; justify-content: space-around; width: 30px; height: 30px; background: transparent; border: none; cursor: pointer; padding: 0; z-index: 1002; position: relative; } .mobile-menu-toggle span { display: block; height: 3px; width: 100%; background: var(--primary-black); border-radius: 3px; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); transform-origin: center; } .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); } .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; transform: translateX(20px); } .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -6px); } .mobile-menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 999; } .mobile-menu-overlay.active { opacity: 1; visibility: visible; } .mobile-menu { position: fixed; top: 0; right: -100%; width: 320px; max-width: 85vw; height: 100vh; background: var(--primary-white); z-index: 1001; transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); overflow-y: auto; box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1); } .mobile-menu.active { right: 0; } .mobile-menu-header { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%); color: var(--primary-white); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .mobile-menu-logo { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; font-weight: 700; color: var(--primary-white); } .mobile-menu-logo img { width: 80px; height: 40px; object-fit: contain; } .mobile-menu-close { background: none; border: none; color: var(--primary-white); font-size: 1.5rem; cursor: pointer; padding: 0.5rem; border-radius: 4px; transition: background 0.3s ease; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; } .mobile-menu-close:hover { background: rgba(255, 255, 255, 0.1); } .mobile-menu-items { padding: 0; } .mobile-menu-item { border-bottom: 1px solid var(--border-gray); } .mobile-menu-item:last-child { border-bottom: none; } .mobile-menu-link { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.5rem; color: var(--primary-black); text-decoration: none; font-weight: 500; font-size: 1rem; transition: all 0.3s ease; min-height: 56px; background: var(--primary-white); } .mobile-menu-link:hover, .mobile-menu-link:focus { background: var(--accent-gray); color: var(--primary-red); padding-left: 2rem; } .mobile-menu-link.has-dropdown::after { content: '▼'; font-size: 0.8rem; transition: transform 0.3s ease; color: var(--light-gray); } .mobile-menu-item.active .mobile-menu-link.has-dropdown::after { transform: rotate(180deg); } .mobile-dropdown { max-height: 0; overflow: hidden; background: var(--accent-gray); transition: max-height 0.4s ease; } .mobile-menu-item.active .mobile-dropdown { max-height: 400px; } .mobile-dropdown-link { display: block; padding: 1rem 2.5rem; color: var(--medium-gray); text-decoration: none; font-size: 0.9rem; font-weight: 400; transition: all 0.3s ease; border-bottom: 1px solid var(--border-gray); min-height: 48px; display: flex; align-items: center; background: var(--accent-gray); } .mobile-dropdown-link:last-child { border-bottom: none; } .mobile-dropdown-link:hover, .mobile-dropdown-link:focus { background: var(--primary-white); color: var(--primary-red); padding-left: 3rem; } .mobile-menu-cta { margin: 1.5rem; padding: 1rem; background: linear-gradient(135deg, var(--primary-red) 0%, var(--dark-red) 100%); color: var(--primary-white); text-decoration: none; border-radius: 12px; text-align: center; font-weight: 600; font-size: 1.1rem; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 56px; box-shadow: 0 4px 15px rgba(220, 38, 38, 0.2); } .mobile-menu-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(220, 38, 38, 0.3); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideInLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } } @keyframes slideInRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes shimmer { 0% { left: -100%; } 100% { left: 100%; } } .animate-on-scroll { opacity: 1; transform: translateY(0); transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); } .animate-on-scroll.animate { opacity: 1; transform: translateY(0); } .js-enabled .animate-on-scroll { opacity: 0; transform: translateY(30px); } .js-enabled .animate-on-scroll.animate { opacity: 1; transform: translateY(0); } /* Paint Card Stand Color Progression */ .hero { height: 100vh; min-height: 600px; background: linear-gradient(135deg, var(--hero-red) 0%, #b91c1c 100%); display: flex; align-items: center; position: relative; overflow: hidden; color: var(--primary-white); padding-top: 80px; } .section:nth-of-type(2) { /* Interior Services */ background: linear-gradient(135deg, var(--interior-orange) 0%, var(--hero-red) 100%); color: var(--primary-white); } .section:nth-of-type(3) { /* Exterior Services */ background: linear-gradient(135deg, var(--exterior-amber) 0%, var(--interior-orange) 100%); color: var(--primary-black); } .section:nth-of-type(4) { /* Cabinet Services */ background: linear-gradient(135deg, var(--cabinet-yellow) 0%, var(--exterior-amber) 100%); color: var(--primary-black); } .section:nth-of-type(5) { /* Process */ background: linear-gradient(135deg, var(--process-lime) 0%, var(--cabinet-yellow) 100%); color: var(--primary-white); } .section:nth-of-type(6) { /* Service Areas */ background: linear-gradient(135deg, var(--service-green) 0%, var(--process-lime) 100%); color: var(--primary-white); } .section:nth-of-type(7) { /* Benefits */ background: linear-gradient(135deg, var(--benefits-teal) 0%, var(--service-green) 100%); color: var(--primary-white); } .section:nth-of-type(8) { /* Pricing */ background: linear-gradient(135deg, var(--pricing-sky) 0%, var(--benefits-teal) 100%); color: var(--primary-white); } .section:nth-of-type(9) { /* Projects */ background: linear-gradient(135deg, var(--projects-blue) 0%, var(--pricing-sky) 100%); color: var(--primary-white); } .section:nth-of-type(10) { /* FAQ */ background: linear-gradient(135deg, var(--faq-indigo) 0%, var(--projects-blue) 100%); color: var(--primary-white); } .cta-section { background: linear-gradient(135deg, var(--cta-purple) 0%, var(--faq-indigo) 100%); color: var(--primary-white); } .footer { background: linear-gradient(135deg, var(--footer-navy) 0%, #1e3a8a 100%); color: var(--primary-white); } /* Section Base Styles */ .section { padding: 5rem 0; position: relative; } .section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.08) 0%, transparent 50%); z-index: 0; } .section > .container { position: relative; z-index: 1; } /* Yellow sections text override */ .section:nth-of-type(3), .section:nth-of-type(4) { color: var(--primary-black); } .section:nth-of-type(3) .section-title, .section:nth-of-type(3) .section-subtitle, .section:nth-of-type(4) .section-title, .section:nth-of-type(4) .section-subtitle { color: var(--primary-black); text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3); } /* Paint Card Backgrounds */ .service-card, .process-card, .area-card, .benefit-card, .pricing-card, .project-card, .faq-item { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); color: var(--primary-black); position: relative; z-index: 1; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); border-radius: 15px; padding: 2rem; transition: all 0.3s ease; } /* Yellow sections card override */ .section:nth-of-type(3) .service-card, .section:nth-of-type(3) .process-card, .section:nth-of-type(3) .area-card, .section:nth-of-type(3) .benefit-card, .section:nth-of-type(4) .service-card, .section:nth-of-type(4) .process-card, .section:nth-of-type(4) .area-card, .section:nth-of-type(4) .benefit-card { background: rgba(255, 255, 255, 0.95); color: var(--primary-black); border: 1px solid rgba(0, 0, 0, 0.1); } .service-card:hover, .process-card:hover, .area-card:hover, .benefit-card:hover, .pricing-card:hover, .project-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); } /* Hero Section */ .hero-container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; z-index: 1; position: relative; width: 100%; } .hero-content { animation: slideInLeft 1s ease-out; } .hero-badge { background: rgba(255, 255, 255, 0.2); color: var(--primary-white); padding: 0.5rem 1rem; border-radius: 50px; font-size: 0.9rem; font-weight: 600; display: inline-block; margin-bottom: 1rem; animation: pulse 2s infinite; border: 2px solid rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px); } .hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; line-height: 1.1; margin-bottom: 1rem; color: var(--primary-white); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .hero-subtitle { font-size: clamp(1rem, 2vw, 1.25rem); color: rgba(255, 255, 255, 0.9); margin-bottom: 2rem; font-weight: 400; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); line-height: 1.6; } .hero-cta { display: flex; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; } .cta-primary, .cta-secondary { padding: 1rem 2rem; font-size: 1.1rem; font-weight: 600; border-radius: 50px; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; } .cta-primary { background: rgba(255, 255, 255, 0.2); color: var(--primary-white); border: 2px solid rgba(255, 255, 255, 0.4); backdrop-filter: blur(10px); } .cta-primary:hover { transform: translateY(-3px); background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.6); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .cta-secondary { background: transparent; color: var(--primary-white); border: 2px solid rgba(255, 255, 255, 0.6); } .cta-secondary:hover { background: rgba(255, 255, 255, 0.2); color: var(--primary-white); transform: translateY(-3px); } .hero-stats { display: flex; gap: 2rem; flex-wrap: wrap; } .stat { text-align: center; } .stat-number { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--primary-white); display: block; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .stat-label { font-size: 0.9rem; color: rgba(255, 255, 255, 0.8); text-transform: uppercase; letter-spacing: 1px; } .hero-visual { animation: slideInRight 1s ease-out; position: relative; } .hero-image { width: 100%; height: 400px; background: rgba(255, 255, 255, 0.1); border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: rgba(255, 255, 255, 0.8); position: relative; overflow: hidden; backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.2); } .hero-image::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); animation: shimmer 3s infinite; } .container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; } .section-header { text-align: center; margin-bottom: 4rem; position: relative; z-index: 1; } .section-title { font-size: clamp(2rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 1rem; color: inherit; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); line-height: 1.2; } .section-subtitle { font-size: clamp(1rem, 2vw, 1.2rem); color: inherit; opacity: 0.9; max-width: 700px; margin: 0 auto; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); line-height: 1.6; } /* Grid Layouts */ .two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; } .three-col-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; } .four-col-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-top: 3rem; } /* Service Cards */ .service-title { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 700; margin-bottom: 1rem; color: var(--primary-black); line-height: 1.3; } .service-description { color: var(--medium-gray); margin-bottom: 1.5rem; line-height: 1.6; min-height: 4.8rem; /* 3 lines at 1.6 line-height */ } .service-features { margin-bottom: 1.5rem; } .service-features ul { list-style: none; padding: 0; margin: 0; } .service-features li { color: var(--medium-gray); padding: 0.3rem 0; padding-left: 1.5rem; position: relative; line-height: 1.5; } .service-features li::before { content: '✓'; position: absolute; left: 0; color: var(--primary-red); font-weight: bold; } .service-link { color: var(--primary-red); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; transition: gap 0.3s ease; margin-top: auto; } .service-link:hover { gap: 1rem; } /* Process Steps */ .process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem; } .process-card { position: relative; } .process-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.8)); } .process-number { background: rgba(255, 255, 255, 0.2); color: var(--primary-black); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.2rem; margin-bottom: 1rem; } .process-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 1rem; color: var(--primary-black); } .process-description { color: var(--medium-gray); line-height: 1.6; min-height: 4.8rem; /* Consistent height */ } /* Service Areas */ .areas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-top: 3rem; } .area-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; color: var(--primary-black); } .area-locations { color: var(--medium-gray); line-height: 1.5; font-size: 0.95rem; min-height: 3.6rem; /* 2.4 lines */ } .area-map { width: 100%; height: 200px; background: var(--accent-gray); border-radius: 10px; margin-top: 1rem; overflow: hidden; } /* Benefits Grid */ .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem; } .benefit-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 1rem; color: var(--primary-black); } .benefit-description { color: var(--medium-gray); line-height: 1.6; min-height: 4.8rem; } /* Pricing Table */ .pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-top: 3rem; } .pricing-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 0.5rem; color: var(--primary-black); } .pricing-range { font-size: 1.1rem; color: var(--primary-red); font-weight: 600; margin-bottom: 1rem; } .pricing-factors { margin-top: 1rem; } .pricing-factors h4 { font-size: 1rem; font-weight: 600; color: var(--primary-black); margin-bottom: 0.5rem; } .pricing-factors ul { list-style: none; padding: 0; margin: 0; } .pricing-factors li { color: var(--medium-gray); padding: 0.2rem 0; padding-left: 1.2rem; position: relative; line-height: 1.4; font-size: 0.9rem; } .pricing-factors li::before { content: '•'; position: absolute; left: 0; color: var(--primary-red); } /* Projects Grid */ .projects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; margin-top: 3rem; } .project-image { width: 100%; height: 200px; background: var(--accent-gray); border-radius: 10px; margin-bottom: 1rem; display: flex; align-items: center; justify-content: center; color: var(--light-gray); position: relative; overflow: hidden; } .project-image::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); animation: shimmer 3s infinite; } .project-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; color: var(--primary-black); } .project-details { color: var(--medium-gray); line-height: 1.5; font-size: 0.95rem; min-height: 3.6rem; } /* FAQ Section */ .faq-container { max-width: 800px; margin: 0 auto; } .faq-item { margin-bottom: 1rem; overflow: hidden; transition: all 0.3s ease; } .faq-item:hover { box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); } .faq-question { width: 100%; padding: 1.5rem 2rem; background: none; border: none; text-align: left; font-size: clamp(1rem, 2vw, 1.1rem); font-weight: 600; color: var(--primary-black); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all 0.3s ease; position: relative; line-height: 1.4; } .faq-question:hover { background: rgba(255, 255, 255, 0.1); } .faq-question:focus { outline: 2px solid var(--primary-red); outline-offset: -2px; } .faq-question[aria-expanded="true"] { background: rgba(255, 255, 255, 0.1); border-bottom: 1px solid rgba(255, 255, 255, 0.2); } .faq-question[aria-expanded="true"] .faq-arrow { transform: rotate(45deg); color: var(--primary-white); } .faq-arrow { font-size: 1.5rem; font-weight: 300; color: var(--light-gray); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); flex-shrink: 0; margin-left: 1rem; } .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .faq-item.active .faq-answer { max-height: 300px; } .faq-answer p { padding: 0 2rem 2rem 2rem; margin: 0; color: var(--medium-gray); line-height: 1.6; } .faq-answer strong { color: var(--primary-black); font-weight: 600; } .faq-item::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5)); transition: height 0.3s ease; } .faq-item.active::before { height: 100%; } .faq-item:hover::before { height: 30%; } /* CTA Section */ .cta-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%); z-index: 0; } .cta-content { position: relative; z-index: 1; text-align: center; padding: 3rem 0; } .cta-title { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; margin-bottom: 1rem; line-height: 1.2; } .cta-subtitle { font-size: clamp(1.1rem, 2vw, 1.3rem); margin-bottom: 2rem; opacity: 0.9; line-height: 1.6; } .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; } .cta-btn-white { background: rgba(255, 255, 255, 0.9); color: var(--primary-black); padding: 1rem 2rem; border: none; border-radius: 50px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; backdrop-filter: blur(10px); min-height: 56px; } .cta-btn-white:hover { background: var(--primary-white); transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } .cta-btn-outline { background: transparent; color: var(--primary-white); padding: 1rem 2rem; border: 2px solid rgba(255, 255, 255, 0.8); border-radius: 50px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; backdrop-filter: blur(10px); min-height: 56px; } .cta-btn-outline:hover { background: rgba(255, 255, 255, 0.2); color: var(--primary-white); transform: translateY(-3px); border-color: var(--primary-white); } /* Footer */ .footer { padding: 3rem 0 1rem; position: relative; } .footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 25% 25%, rgba(0, 0, 0, 0.1) 0%, transparent 40%), radial-gradient(circle at 75% 75%, rgba(0, 0, 0, 0.05) 0%, transparent 40%); z-index: 0; } .footer-badge-section { text-align: center; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255, 255, 255, 0.2); position: relative; z-index: 2; } .footer-ppg-badge { max-width: 200px; height: auto; margin: 0 auto 1rem auto; display: block; transition: transform 0.3s ease; } .footer-ppg-badge:hover { transform: scale(1.05); } .badge-text { color: var(--primary-white); font-size: 1.1rem; font-weight: 600; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); margin: 0; opacity: 0.9; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; position: relative; z-index: 2; } .footer-section h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 1rem; color: var(--primary-white); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); } .footer-section a { color: var(--primary-white); text-decoration: none; display: block; margin-bottom: 0.5rem; opacity: 0.9; transition: all 0.3s ease; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } .footer-section a:hover { opacity: 1; transform: translateX(3px); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); } .footer-section a[href^="tel:"] { font-weight: 600; color: var(--primary-white); } .footer-section a[href^="mailto:"] { font-weight: 500; } .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.3); padding-top: 2rem; text-align: center; color: var(--primary-white); opacity: 0.9; position: relative; z-index: 2; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } /* ===== RESPONSIVE BREAKPOINTS ===== */ @media (min-width: 769px) { .mobile-menu-toggle, .mobile-menu-overlay, .mobile-menu { display: none !important; } } @media (max-width: 768px) { .nav-menu { display: none; } .mobile-menu-toggle { display: flex; } .nav-phone { font-size: 0.8rem; padding: 0.6rem 1rem; } .hero-container { grid-template-columns: 1fr; gap: 3rem; text-align: center; padding: 2rem 1rem; } .hero-visual { order: -1; } .hero-image { height: 300px; max-width: 400px; margin: 0 auto; } .hero-cta { flex-direction: column; align-items: center; } .cta-primary, .cta-secondary { width: 100%; max-width: 300px; justify-content: center; } .hero-stats { justify-content: center; } .two-col-grid { grid-template-columns: 1fr; gap: 2rem; } .three-col-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } .four-col-grid { grid-template-columns: 1fr; gap: 1.5rem; } .process-grid, .areas-grid, .benefits-grid, .pricing-grid, .projects-grid { grid-template-columns: 1fr; gap: 1.5rem; } .footer-content { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } .section { padding: 4rem 0; } .section-header { margin-bottom: 3rem; } .faq-question { padding: 1.2rem 1.5rem; } .faq-answer p { padding: 0 1.5rem 1.5rem 1.5rem; } .faq-arrow { font-size: 1.3rem; margin-left: 0.5rem; } } @media (max-width: 480px) { .nav-container { padding: 1rem 15px; } .nav-logo img { width: 100px; height: 50px; } .nav-phone { font-size: 0.75rem; padding: 0.5rem 0.8rem; } .mobile-menu { width: 280px; max-width: 90vw; } .container { padding: 0 15px; } .hero { min-height: 80vh; padding-top: 100px; } .hero-container { padding: 1rem 15px; } .hero-image { height: 250px; max-width: 320px; } .three-col-grid { grid-template-columns: 1fr; } .footer-content { grid-template-columns: 1fr; gap: 1.5rem; } .footer-ppg-badge { max-width: 150px; } .badge-text { font-size: 1rem; } .section { padding: 3rem 0; } .service-card, .process-card, .area-card, .benefit-card, .pricing-card, .project-card { padding: 1.5rem; } .cta-buttons { flex-direction: column; align-items: center; } .cta-btn-white, .cta-btn-outline { width: 100%; max-width: 280px; } } @media (max-width: 360px) { .hero-badge { font-size: 0.75rem; padding: 0.4rem 0.8rem; } .hero-image { height: 200px; max-width: 280px; } } @media (hover: none) and (pointer: coarse) { .cta-primary, .cta-secondary, .nav-phone, .service-link { min-height: 48px; min-width: 48px; } .faq-question { min-height: 60px; } .mobile-menu-link, .mobile-dropdown-link, .mobile-menu-cta { min-height: 48px; } .mobile-menu-close { min-height: 44px; min-width: 44px; } } .text-center { text-align: center; } .hidden { display: none; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
Bob's Paint Land Logo
  • Services
    Paint Store & Supplies House Painting Services Auto Painting & Refinishing Commercial Painting Custom Paint Matching Paint Equipment Rentals
  • Locations
    Longview Store Vancouver Store
  • About
  • Contact
(360) 573-7133
Bob's Paint Land Logo
Services
Paint Store & Supplies House Painting Services Auto Painting & Refinishing Commercial Painting Custom Paint Matching Paint Equipment Rentals
Locations
Longview Store Vancouver Store
About
Contact
Call (360) 573-7133
Licensed & Insured Since 1962

Professional House Painting Services Southwest Washington

Expert interior painting, exterior painting, and cabinet refinishing services in Longview, Vancouver, and Clark County. Three generations of painting excellence with same-day estimates and guaranteed satisfaction.

Get Free Estimate Call (360) 573-7133
4.9★ Customer Rating
500+ Homes Painted
3-7 Day Timeline
63 Years Experience
Professional House Painting
Interior • Exterior • Cabinet Refinishing
Southwest Washington Since 1962

Interior Painting Services Southwest Washington

Transform your home's interior with professional residential painting services. From single rooms to whole house interior painting, we deliver exceptional results using premium Sherwin Williams and Benjamin Moore paints throughout Clark and Cowlitz Counties.

Residential Interior Painting

Complete interior house painting services including walls, ceilings, trim, and doors. Professional surface preparation and premium paint application for lasting results.

  • Whole house interior painting
  • Single room transformations
  • Wall and ceiling painting
  • Trim and door refinishing
Longview Interior Painting →

Kitchen & Bathroom Painting

Specialized interior painting for high-moisture areas using moisture-resistant paints and proper ventilation techniques for kitchens and bathrooms.

  • Moisture-resistant paint systems
  • Kitchen wall and cabinet painting
  • Bathroom painting and refinishing
  • Proper surface preparation
Vancouver Interior Painting →

Color Consultation Services

Expert interior paint color consultation with our 63 years of experience. Custom color matching and coordination for cohesive interior design throughout your home.

  • Professional color consultation
  • Custom color matching
  • Lighting consideration analysis
  • Room-by-room coordination
Color Matching Services →

Exterior House Painting Longview Vancouver WA

Protect and beautify your home's exterior with professional exterior painting services. Weather-resistant paints and expert application techniques designed for Southwest Washington's climate conditions in Clark and Cowlitz Counties.

Exterior House Painting

Complete exterior painting services including siding, trim, doors, and shutters using weather-resistant paint systems designed for Pacific Northwest conditions.

  • Siding and trim painting
  • Weather-resistant coatings
  • Pressure washing preparation
  • Multi-coat application systems
Longview Exterior Painting →

Deck Staining & Sealing

Professional deck staining and sealing services to protect your outdoor spaces. Premium stains and sealers for cedar, fir, and pressure-treated lumber common in Southwest Washington.

  • Deck cleaning and preparation
  • Premium stain application
  • Waterproof sealing systems
  • Annual maintenance programs
Vancouver Deck Staining →

Fence & Trim Painting

Specialized painting services for exterior fences, gates, and detailed trim work. Long-lasting finishes that withstand Southwest Washington weather conditions.

  • Fence painting and staining
  • Gate and hardware refinishing
  • Detailed trim and molding work
  • Protective coating systems
Get Fence Painting Quote →

Kitchen Cabinet Painting Services Clark County

Transform your kitchen with professional cabinet painting and refinishing services. Cost-effective kitchen renovation using premium cabinet-grade paints and finishes for lasting durability and beautiful results.

Kitchen Cabinet Refinishing

Complete kitchen cabinet transformation including door removal, professional sanding, priming, and multiple finish coats using cabinet-grade paints for a factory-like finish.

  • Door removal and professional shop finishing
  • Cabinet box painting and refinishing
  • Hardware installation and upgrades
  • Soft-close hinge and drawer slide options
  • Custom color matching and finishes
  • Protective topcoats for durability
Longview Cabinet Painting →

Bathroom Vanity Painting

Bathroom vanity and cabinet refinishing services using moisture-resistant finishes designed for high-humidity environments. Transform your bathroom affordably.

  • Vanity cabinet refinishing
  • Moisture-resistant paint systems
  • Medicine cabinet and built-in painting
  • Hardware updates and installation
  • Countertop edge refinishing
  • Matching trim and door coordination
Vancouver Cabinet Services →

Professional House Painting Process Timeline

Our proven 6-step painting process ensures exceptional results and customer satisfaction. From initial consultation to final walkthrough, experience the quality that comes from 63 years of painting expertise in Southwest Washington.

1

Free In-Home Consultation

On-site assessment of your painting project with color consultation, surface evaluation, and detailed written estimate. Same-day estimates available throughout Clark and Cowlitz Counties.

2

Surface Preparation

Professional surface preparation including cleaning, sanding, filling, and priming. Proper prep work ensures paint adhesion and longevity for interior and exterior applications.

3

Premium Paint Application

Expert application using professional-grade tools and techniques. Multiple coats applied for optimal coverage, durability, and beautiful finish quality.

4

Quality Control Inspection

Thorough quality inspection at each stage of the painting process. Touch-ups and corrections completed before moving to the next phase of your project.

5

Cleanup & Protection

Complete cleanup and restoration of your space. Furniture replacement, floor protection removal, and site cleanup leave your home ready to enjoy immediately.

6

Final Walkthrough

Customer walkthrough to ensure complete satisfaction with all work completed. Touch-up guarantee and maintenance recommendations for long-lasting paint performance.

House Painting Coverage Southwest Washington

Professional residential painting services throughout Southwest Washington from our Longview and Vancouver locations. Serving homeowners across Clark County, Cowlitz County, and extended service areas with reliable house painting expertise.

Clark County House Painting

Vancouver, Hazel Dell, Battle Ground, Camas, Washougal, La Center, Ridgefield, Brush Prairie, Salmon Creek, Mill Plain

Cowlitz County House Painting

Longview, Kelso, Castle Rock, Woodland, Kalama, Toutle, Ryderwood, Silverlake, Lexington, West Side Highway

Extended Service Areas

Centralia, Chehalis, Olympia, Tumwater, Lacey, St. Helens OR, Forest Grove OR, Portland Metro areas, Molalla OR

Specialty Service Locations

Rural properties, lakefront homes, custom residential projects, vacation homes, rental property painting throughout our 180-mile service territory

Why Choose Bob's Paint Land House Painting Services

Experience the difference that 63 years of painting expertise, family values, and commitment to Southwest Washington communities makes. Professional residential painting contractor services with guaranteed satisfaction and competitive pricing.

Family-Owned Painting Contractor

Three generations of family ownership means we understand the importance of trust, reliability, and building lasting relationships with Southwest Washington homeowners. Personal service you won't find with large painting companies.

Licensed & Insured Professionals

Fully licensed and insured residential painting contractor with workers' compensation coverage. Professional certifications and ongoing training ensure safety and quality workmanship on every house painting project.

Premium Paint Products

Authorized distributor for Sherwin Williams, PPG, and Benjamin Moore with access to contractor-grade products. Premium paints designed for Southwest Washington's climate conditions and long-lasting performance.

Satisfaction Guarantee

100% satisfaction guarantee on all house painting services with touch-up warranty. Our reputation and 63-year history depend on customer satisfaction and quality workmanship that exceeds expectations.

Local Knowledge & Experience

Deep understanding of Southwest Washington architecture, climate challenges, and paint performance. Local expertise ensures proper product selection and application techniques for lasting results.

Competitive Pricing

Fair, competitive pricing with detailed written estimates and no hidden fees. Transparent pricing structure with options to meet various budgets while maintaining quality standards and professional service.

House Painting Cost Estimates & Timeline Southwest Washington

Transparent pricing for professional house painting services in Clark and Cowlitz Counties. Get accurate cost estimates and realistic timelines for your interior painting, exterior painting, and cabinet refinishing projects.

Interior Room Painting

$300 - $800 per room

Professional interior painting including walls, ceiling, and trim. Premium paint and expert application for lasting results.

Pricing Factors:

  • Room size and ceiling height
  • Wall texture and condition
  • Paint quality and finish type
  • Trim and door inclusion
  • Color change requirements

Exterior House Painting

$3,000 - $8,000 per home

Complete exterior painting including siding, trim, doors, and shutters. Weather-resistant coatings for Southwest Washington climate.

Pricing Factors:

  • Home size and stories
  • Siding type and condition
  • Trim detail and complexity
  • Surface preparation needs
  • Paint system selection

Kitchen Cabinet Refinishing

$2,500 - $5,500 per kitchen

Professional cabinet refinishing including door removal, shop finishing, and hardware installation. Transform your kitchen affordably.

Pricing Factors:

  • Number of doors and drawers
  • Cabinet style and details
  • Finish type and complexity
  • Hardware upgrades
  • Additional storage areas

Project Timeline Guide

3-7 Day Average

Realistic project timelines from consultation to completion. Weather and project complexity affect actual completion dates.

Timeline Factors:

  • Project size and scope
  • Weather conditions
  • Surface preparation needs
  • Paint drying time
  • Scheduling coordination

Recent House Painting Projects Southwest Washington

View recent residential painting projects completed throughout Clark and Cowlitz Counties. From interior room makeovers to complete exterior transformations, see the quality workmanship that Southwest Washington homeowners trust.

Before/After Gallery
Vancouver Kitchen Makeover

Vancouver Kitchen Cabinet Refinishing

Complete kitchen transformation with cabinet refinishing, new hardware, and coordinated wall painting. Sherwin Williams cabinet paint in custom color match for modern farmhouse style.

Before/After Gallery
Longview Exterior Project

Longview Historic Home Exterior

Historic home exterior painting with period-appropriate colors and specialized trim work. Benjamin Moore historical collection with lead-safe practices for 1920s craftsman home.

Before/After Gallery
Kelso Interior Design

Kelso Whole House Interior

Complete interior painting with custom color coordination throughout open-concept home. PPG premium paints with specialized finishes for high-traffic areas and accent walls.

Before/After Gallery
Battle Ground Deck Staining

Battle Ground Deck Restoration

Deck cleaning, repair, and staining with premium semi-transparent stain. Coordinated fence staining and exterior trim painting for complete outdoor space transformation.

Before/After Gallery
Camas Bathroom Remodel

Camas Bathroom Renovation

Bathroom painting with moisture-resistant coatings, vanity refinishing, and tile trim painting. Coordinated color scheme with accent wall and updated hardware finishes.

Before/After Gallery
Woodland New Construction

Woodland New Home Painting

New construction interior and exterior painting with builder coordination. Custom color selections throughout with premium paint systems for long-lasting performance and warranty compliance.

House Painting Frequently Asked Questions

Get answers to common questions about residential painting services in Southwest Washington. Learn about our processes, timelines, pricing, and what to expect from professional house painting contractors.

House painting costs vary by project scope and complexity. Interior room painting ranges from $300-$800 per room, exterior house painting costs $3,000-$8,000, and kitchen cabinet refinishing ranges $2,500-$5,500. Factors include surface condition, paint quality, prep work needed, and project size. We provide detailed written estimates with transparent pricing and no hidden fees.

Most residential painting projects take 3-7 days depending on scope and weather conditions. Interior room painting typically takes 1-2 days per room, whole house exteriors require 4-7 days, and cabinet refinishing takes 5-7 days including drying time. Weather, surface preparation needs, and project complexity affect timelines. We provide realistic schedules during consultation and keep you informed of any delays.

We use premium paint brands including Sherwin Williams, PPG, and Benjamin Moore as authorized distributors. Our paint selections are specifically chosen for Southwest Washington's climate conditions with superior adhesion, durability, and fade resistance. We recommend specific products based on surface type, use area, and performance requirements. All paints come with manufacturer warranties and our workmanship guarantee.

Yes! We provide free, detailed written estimates for all residential painting projects throughout Clark and Cowlitz Counties. Our estimates include surface preparation, materials, labor, cleanup, and timeline. Same-day estimates are often available for urgent projects. Estimates include color consultation and product recommendations with no obligation or hidden fees.

Absolutely. Bob's Paint Land is a fully licensed and insured residential painting contractor in Washington State. We carry comprehensive general liability insurance, workers' compensation coverage, and professional bonding. All work is performed to code with proper permits when required. Our insurance certificates are available upon request for homeowners and property managers.

We serve all of Clark County (Vancouver, Battle Ground, Camas, Washougal) and Cowlitz County (Longview, Kelso, Castle Rock, Woodland) from our two locations. Our service area extends from Bellevue, WA to Molalla, OR covering over 180 miles. We regularly serve rural properties, lakefront homes, and specialty locations throughout Southwest Washington and North Oregon communities.

Yes! Professional color consultation is included with all painting projects. Our 63 years of experience helps homeowners select colors that work with lighting, architecture, and personal style. We provide color samples, consider room function and natural light, and can match existing colors or create custom color schemes. Our advanced color matching technology ensures perfect color reproduction.

Three generations of family ownership since 1962 means personalized service, local knowledge, and community commitment you won't find elsewhere. We're authorized distributors for premium paint brands with access to contractor-grade products. Our combination of traditional craftsmanship, modern techniques, and genuine care for Southwest Washington communities creates lasting relationships beyond single projects.

We provide comprehensive warranties on all residential painting work including materials and workmanship. Interior painting carries workmanship warranty, exterior painting includes extended coverage for weather-related issues, and cabinet refinishing includes finish durability guarantee. All premium paint products include manufacturer warranties. We stand behind our work with touch-up services and customer satisfaction guarantee.

Interior painting continues year-round with climate-controlled conditions. Exterior painting depends on temperature, humidity, and precipitation conditions. We use weather-appropriate products and techniques for winter application when conditions permit. Many exterior projects are scheduled for spring/summer, but emergency repairs and some exterior work can be completed during mild winter periods with proper preparation.

Ready to Transform Your Home with Professional Painting?

Get your free house painting estimate today from Southwest Washington's most trusted residential painting contractor. Three generations of expertise, premium paints, and guaranteed satisfaction.

Get Free Estimate Today Call (360) 573-7133
PPG Premium Distributor Badge

Authorized PPG Premium Distributor

House Painting Services

House Painting Services Longview House Painting Vancouver House Painting Paint Store & Supplies Color Matching Equipment Rentals

Interior Painting

Interior Painting Longview Interior Painting Vancouver Cabinet Refinishing Longview Cabinet Refinishing Vancouver Color Consultation Room Painting Estimates

Exterior Painting

Exterior Painting Longview Exterior Painting Vancouver Deck Staining Longview Deck Staining Vancouver Fence Painting Quotes Siding Painting Services

Service Locations

Longview Store & Services
1158 11th Ave, Longview WA
Vancouver Store & Services
1501 NE 99th St, Vancouver WA
About Our Family Business Free House Painting Estimates (360) 573-7133

© 2025 Bob's Paint Land. Licensed residential painting contractor serving Southwest Washington since 1962.