/*
Theme Name: NWBM - Northwest Building Maintenance
Theme URI: https://rankflowsystems.com
Author: RankFlow Systems
Author URI: https://rankflowsystems.com
Description: Professional WordPress theme for Northwest Building Maintenance Inc. Full Customizer support. Created by RankFlow Systems.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nwbm
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
*/

:root{--color-primary:#1B2A4A;--color-primary-light:#243556;--color-accent:#D4A853;--color-accent-hover:#c49a48;--color-light-bg:#F4F5F7;--color-white:#fff;--color-text:#374151;--color-text-light:#6B7280;--color-text-lighter:#9CA3AF;--color-border:#E5E7EB;--font-display:'DM Serif Display',Georgia,serif;--font-body:'Source Sans 3',system-ui,-apple-system,sans-serif;--max-width:1280px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-white);line-height:1.6}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2}ul,ol{list-style:none}::selection{background-color:rgba(212,168,83,.3)}
.nwbm-container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}@media(min-width:640px){.nwbm-container{padding:0 1.5rem}}@media(min-width:1024px){.nwbm-container{padding:0 2rem}}
.top-bar{background:var(--color-primary);color:rgba(255,255,255,.9);font-size:.875rem;display:none}@media(min-width:1024px){.top-bar{display:block}}.top-bar .nwbm-container{display:flex;align-items:center;justify-content:space-between;height:2.5rem}.top-bar a{color:rgba(255,255,255,.9);transition:color .2s}.top-bar a:hover{color:var(--color-accent)}.top-bar-group{display:flex;align-items:center;gap:1.5rem}.top-bar-item{display:flex;align-items:center;gap:.375rem}.top-bar-item svg{width:14px;height:14px;flex-shrink:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 1px 3px rgba(0,0,0,.1)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:4.5rem}@media(min-width:1024px){.header-inner{height:6rem}}.site-logo img{height:3.5rem;width:auto}@media(min-width:1024px){.site-logo img{height:4.5rem}}.main-nav{display:none;align-items:center;gap:.25rem}@media(min-width:1024px){.main-nav{display:flex}}.nav-link{padding:.5rem .75rem;font-size:.875rem;font-weight:600;color:var(--color-primary);transition:color .2s;display:flex;align-items:center;gap:.25rem}.nav-link:hover,.nav-link.active{color:var(--color-accent)}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;left:0;padding-top:.5rem;opacity:0;visibility:hidden;transition:all .2s;z-index:60}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible}.nav-dropdown-inner{background:var(--color-white);border-radius:.375rem;box-shadow:0 10px 30px rgba(0,0,0,.12);border:1px solid var(--color-border);padding:.5rem 0;width:16rem;max-height:70vh;overflow-y:auto}.dropdown-link{display:block;padding:.5rem 1rem;font-size:.875rem;color:var(--color-text-light);transition:all .15s}.dropdown-link:hover{background:var(--color-light-bg);color:var(--color-primary)}.header-right{display:none;align-items:center;gap:.75rem}@media(min-width:1024px){.header-right{display:flex}}.header-phone{color:var(--color-primary);font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.375rem;transition:color .2s}.header-phone:hover{color:var(--color-accent)}.mobile-toggle{display:block;padding:.5rem;color:var(--color-primary);background:none;border:none;cursor:pointer}@media(min-width:1024px){.mobile-toggle{display:none}}.mobile-toggle svg{width:24px;height:24px}.mobile-menu{display:none;background:var(--color-white);border-top:1px solid var(--color-border);box-shadow:0 4px 12px rgba(0,0,0,.1);padding:1rem}.mobile-menu.open{display:block}@media(min-width:1024px){.mobile-menu{display:none!important}}.mobile-link{display:block;padding:.625rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-light);border-radius:.375rem;transition:background .15s}.mobile-link:hover{background:var(--color-light-bg)}.mobile-link.active{background:var(--color-primary);color:var(--color-white);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;padding:.875rem 2rem;border-radius:.375rem;transition:all .2s;border:none;cursor:pointer;font-size:1rem;line-height:1}.btn-primary{background:var(--color-accent);color:var(--color-primary)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-dark{background:var(--color-primary);color:var(--color-white)}.btn-dark:hover{background:var(--color-primary-light)}.btn-outline{background:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.3)}.btn-outline:hover{border-color:rgba(255,255,255,.6)}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem}.btn svg{width:16px;height:16px}
.hero{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(27,42,74,.9),rgba(27,42,74,.7),rgba(27,42,74,.4))}.hero-content{position:relative;max-width:42rem;padding:5rem 0}@media(min-width:1024px){.hero-content{padding:8rem 0}}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(212,168,83,.2);border:1px solid rgba(212,168,83,.4);border-radius:9999px;padding:.375rem 1rem;margin-bottom:1.5rem}.hero-badge-dot{width:.5rem;height:.5rem;background:var(--color-accent);border-radius:50%}.hero-badge span{color:var(--color-accent);font-size:.875rem;font-weight:500}.hero h1{font-size:2.25rem;color:var(--color-white);margin-bottom:1.5rem}@media(min-width:640px){.hero h1{font-size:3rem}}@media(min-width:1024px){.hero h1{font-size:3.75rem}}.hero h1 .accent{color:var(--color-accent)}.hero-desc{color:rgba(255,255,255,.8);font-size:1.125rem;line-height:1.7;margin-bottom:2rem;max-width:36rem}@media(min-width:1024px){.hero-desc{font-size:1.25rem}}.hero-btns{display:flex;flex-direction:column;gap:1rem}@media(min-width:640px){.hero-btns{flex-direction:row}}
.trust-bar{background:var(--color-primary);padding:1.5rem 0}.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;text-align:center}@media(min-width:768px){.trust-grid{grid-template-columns:repeat(5,1fr)}}.trust-item{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;color:rgba(255,255,255,.8)}.trust-item svg{width:20px;height:20px;color:var(--color-accent);flex-shrink:0}.trust-item span{font-size:.875rem;font-weight:500}
.section{padding:5rem 0}@media(min-width:1024px){.section{padding:7rem 0}}.section-light{background:var(--color-light-bg)}.section-dark{background:var(--color-primary);color:var(--color-white)}.section-label{color:var(--color-accent);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.section-title{font-size:1.875rem;color:var(--color-primary);margin-bottom:1.5rem}@media(min-width:1024px){.section-title{font-size:2.25rem}}.section-dark .section-title{color:var(--color-white)}.section-desc{color:var(--color-text-light);max-width:42rem;line-height:1.7}.section-center{text-align:center}.section-center .section-desc{margin:1rem auto 0}.section-number{font-family:var(--font-display);font-size:6rem;line-height:1;opacity:.06;position:absolute;top:-1rem;left:-.5rem;pointer-events:none;user-select:none;color:var(--color-primary)}
.grid-2{display:grid;gap:3rem}@media(min-width:1024px){.grid-2{grid-template-columns:1fr 1fr;gap:5rem;align-items:center}}.grid-3{display:grid;gap:1.25rem}@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-5{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:640px){.grid-5{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.grid-5{grid-template-columns:repeat(5,1fr)}}
.service-card{display:block;background:var(--color-white);border-radius:.375rem;border:1px solid var(--color-border);padding:1.5rem;transition:all .3s;height:100%}.service-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);border-color:rgba(212,168,83,.3)}.service-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.service-card h3{font-size:1.125rem;color:var(--color-primary);font-weight:600;transition:color .2s;font-family:var(--font-display)}.service-card:hover h3{color:var(--color-accent)}.service-card p{color:var(--color-text-light);font-size:.875rem;line-height:1.6}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-box{border-radius:.375rem;padding:1.5rem;text-align:center}.stat-box-dark{background:var(--color-primary)}.stat-box-light{background:var(--color-light-bg)}.stat-value{font-family:var(--font-display);font-size:1.875rem;font-weight:700;margin-bottom:.25rem}@media(min-width:1024px){.stat-value{font-size:2.25rem}}.stat-box-dark .stat-value{color:var(--color-accent)}.stat-box-light .stat-value{color:var(--color-primary)}.stat-label{font-size:.875rem}.stat-box-dark .stat-label{color:rgba(255,255,255,.7)}.stat-box-light .stat-label{color:var(--color-text-light)}.stats-band{background:var(--color-primary);padding:4rem 0}.stats-band-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;text-align:center}@media(min-width:1024px){.stats-band-grid{grid-template-columns:repeat(4,1fr)}}.stat-counter-value{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--color-accent)}@media(min-width:1024px){.stat-counter-value{font-size:3rem}}.stat-counter-label{color:rgba(255,255,255,.7);font-size:.875rem;margin-top:.25rem}
.why-grid{display:grid;gap:2rem}@media(min-width:768px){.why-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.why-grid{grid-template-columns:repeat(3,1fr)}}.why-item{display:flex;gap:1rem}.why-icon{width:3rem;height:3rem;background:var(--color-primary);border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.why-icon svg{width:20px;height:20px;color:var(--color-accent)}.why-item h3{color:var(--color-primary);font-weight:600;font-size:1.125rem;margin-bottom:.5rem;font-family:var(--font-body)}.why-item p{color:var(--color-text-light);font-size:.875rem;line-height:1.6}
.industry-tag{background:var(--color-light-bg);border-radius:.375rem;padding:1rem;text-align:center;transition:all .3s;cursor:default}.industry-tag:hover{background:var(--color-primary)}.industry-tag p{font-size:.875rem;font-weight:500;color:var(--color-text-light);transition:color .3s}.industry-tag:hover p{color:var(--color-white)}
.testimonial-card{background:var(--color-white);border-radius:.375rem;padding:1.5rem;border:1px solid var(--color-border);height:100%;display:flex;flex-direction:column}.testimonial-stars{display:flex;gap:.25rem;margin-bottom:1rem}.testimonial-stars svg{width:16px;height:16px;color:var(--color-accent);fill:var(--color-accent)}.testimonial-text{color:var(--color-text-light);font-size:.875rem;line-height:1.6;font-style:italic;flex:1}.testimonial-author{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.testimonial-name{color:var(--color-primary);font-weight:600;font-size:.875rem}.testimonial-role{color:var(--color-text-lighter);font-size:.75rem}
.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.area-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-light)}.area-item svg{width:14px;height:14px;color:var(--color-accent);flex-shrink:0}.area-map-box{background:var(--color-light-bg);border-radius:.5rem;padding:2rem;text-align:center}.area-map-box .emoji{font-size:3.75rem;margin-bottom:1rem}.area-map-box h3{font-size:1.25rem;color:var(--color-primary);font-weight:600;margin-bottom:.5rem}.area-map-box p{color:var(--color-text-light);font-size:.875rem}
.faq-item{border:1px solid rgba(255,255,255,.1);border-radius:.375rem;overflow:hidden;margin-bottom:.75rem}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;text-align:left;color:var(--color-white);background:transparent;border:none;cursor:pointer;font-weight:500;font-size:.875rem;transition:background .2s}.faq-question:hover{background:rgba(255,255,255,.05)}.faq-toggle{color:var(--color-accent);font-size:1.25rem;transition:transform .2s;flex-shrink:0;margin-left:1rem}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-answer{display:none;padding:0 1.5rem 1rem;color:rgba(255,255,255,.7);font-size:.875rem;line-height:1.6}.faq-item.open .faq-answer{display:block}
.footer-cta{background:var(--color-accent)}.footer-cta-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 0}@media(min-width:768px){.footer-cta-inner{flex-direction:row}}.footer-cta h3{font-size:1.5rem;color:var(--color-primary)}.footer-cta p{color:rgba(27,42,74,.8);margin-top:.25rem}.site-footer{background:var(--color-primary);color:var(--color-white)}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:4rem 0}@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-about p{color:rgba(255,255,255,.7);font-size:.875rem;line-height:1.6;margin-bottom:1rem}.footer-about img{height:3.5rem;width:auto;margin-bottom:1rem;filter:brightness(1.1)}.footer-contact-item{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.7);font-size:.875rem;margin-bottom:.5rem;transition:color .2s}a.footer-contact-item:hover{color:var(--color-accent)}.footer-contact-item svg{width:16px;height:16px;flex-shrink:0}.footer-heading{color:var(--color-white);font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.footer-links li{margin-bottom:.5rem}.footer-links a{color:rgba(255,255,255,.6);font-size:.875rem;transition:color .2s}.footer-links a:hover{color:var(--color-accent)}.footer-links .view-all{color:var(--color-accent);font-weight:500}.footer-area-list li{color:rgba(255,255,255,.6);font-size:.875rem;margin-bottom:.5rem}.footer-creds li{color:rgba(255,255,255,.6);font-size:.875rem;margin-bottom:.5rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0}.footer-bottom-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:rgba(255,255,255,.5)}@media(min-width:640px){.footer-bottom-inner{flex-direction:row}}.footer-bottom a{color:rgba(255,255,255,.5);transition:color .2s}.footer-bottom a:hover{color:var(--color-accent)}.footer-credit{text-align:center;padding:.75rem 0;background:rgba(0,0,0,.15);font-size:.8rem;color:rgba(255,255,255,.4)}.footer-credit a{color:var(--color-accent);transition:color .2s}.footer-credit a:hover{color:var(--color-white)}
.page-hero{position:relative;padding:6rem 0;overflow:hidden}@media(min-width:1024px){.page-hero{padding:8rem 0}}.page-hero-bg{position:absolute;inset:0}.page-hero-bg img{width:100%;height:100%;object-fit:cover}.page-hero-bg::after{content:'';position:absolute;inset:0;background:rgba(27,42,74,.8)}.page-hero-content{position:relative;max-width:42rem}.page-hero h1{font-size:2.25rem;color:var(--color-white);margin-bottom:1rem}@media(min-width:1024px){.page-hero h1{font-size:3rem}}.page-hero p{color:rgba(255,255,255,.7);font-size:1.125rem}
.contact-grid{display:grid;gap:3rem}@media(min-width:1024px){.contact-grid{grid-template-columns:3fr 2fr;gap:4rem}}.form-group{margin-bottom:1.25rem}.form-row{display:grid;gap:1.25rem}@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-light);margin-bottom:.375rem}.form-input,.form-select,.form-textarea{width:100%;border:1px solid var(--color-border);border-radius:.375rem;padding:.625rem 1rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background:var(--color-white);color:var(--color-text)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(212,168,83,.2)}.form-textarea{resize:none}.form-success{background:var(--color-light-bg);border-radius:.375rem;padding:2rem;text-align:center}.form-success svg{margin:0 auto}.form-success h3{font-size:1.25rem;color:var(--color-primary);margin:1rem 0 .5rem}.form-success p{color:var(--color-text-light)}.contact-sidebar{display:flex;flex-direction:column;gap:1.5rem}.contact-info-box{background:var(--color-primary);border-radius:.375rem;padding:1.5rem}.contact-info-box h3{font-size:1.125rem;color:var(--color-white);font-weight:600;margin-bottom:1rem}.contact-info-item{display:flex;align-items:flex-start;gap:.75rem;color:rgba(255,255,255,.8);margin-bottom:1rem}.contact-info-item:last-child{margin-bottom:0}.contact-info-item svg{width:20px;height:20px;color:var(--color-accent);flex-shrink:0;margin-top:.125rem}.contact-info-label{color:var(--color-white);font-weight:500}.contact-info-value{font-size:.875rem}.expect-box{background:var(--color-light-bg);border-radius:.375rem;padding:1.5rem}.expect-box h3{font-size:1.125rem;color:var(--color-primary);font-weight:600;margin-bottom:.75rem}.expect-list li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.expect-list li:last-child{margin-bottom:0}.expect-number{width:1.5rem;height:1.5rem;background:var(--color-primary);color:var(--color-white);font-size:.75rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem}.expect-list span{font-size:.875rem;color:var(--color-text-light)}.call-box{border:1px solid var(--color-border);border-radius:.375rem;padding:1.5rem}.call-box h3{font-size:1.125rem;color:var(--color-primary);font-weight:600;margin-bottom:.75rem}.call-box p{color:var(--color-text-light);font-size:.875rem;margin-bottom:1rem}
.service-detail-hero{background:var(--color-primary);padding:5rem 0}@media(min-width:1024px){.service-detail-hero{padding:7rem 0}}.service-back-link{display:inline-flex;align-items:center;gap:.375rem;color:rgba(255,255,255,.6);font-size:.875rem;margin-bottom:1.5rem;transition:color .2s}.service-back-link:hover{color:var(--color-accent)}.service-detail-hero h1{font-size:1.875rem;color:var(--color-white);margin-bottom:1rem}@media(min-width:640px){.service-detail-hero h1{font-size:2.25rem}}@media(min-width:1024px){.service-detail-hero h1{font-size:3rem}}.feature-list{display:grid;gap:.75rem}@media(min-width:640px){.feature-list{grid-template-columns:1fr 1fr}}.feature-item{display:flex;align-items:flex-start;gap:.75rem}.feature-item svg{width:20px;height:20px;color:var(--color-accent);flex-shrink:0;margin-top:.125rem}.feature-item span{font-size:.9375rem;color:var(--color-text)}
.industry-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:.375rem;padding:1.5rem;transition:all .3s}.industry-card:hover{border-color:var(--color-accent);box-shadow:0 4px 20px rgba(0,0,0,.06)}.industry-card h3{font-size:1.125rem;color:var(--color-primary);font-weight:600;margin-bottom:.5rem}.industry-card p{color:var(--color-text-light);font-size:.875rem;line-height:1.6}
.animate-in{opacity:0;transform:translateY(1.5rem);transition:opacity .7s ease-out,transform .7s ease-out}.animate-in.visible{opacity:1;transform:translateY(0)}
.diagonal-top{clip-path:polygon(0 3rem,100% 0,100% 100%,0 100%);margin-top:-3rem;padding-top:5rem!important}.diagonal-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - 3rem),0 100%);padding-bottom:5rem!important}
.wp-block-image img{height:auto}.alignleft{float:left;margin-right:1.5rem;margin-bottom:1rem}.alignright{float:right;margin-left:1.5rem;margin-bottom:1rem}.aligncenter{display:block;margin-left:auto;margin-right:auto}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
