:root{--black:#070707;--panel:#0d0d0d;--white:#fff;--off:#f4f4f2;--orange:#ff4f00;--muted:#bdbdbd;--line:#2a2a2a;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.section-title{margin:0 0 28px;text-align:center;color:#111;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:900;text-transform:uppercase;letter-spacing:.02em}.section-title:before,.section-title:after{content:"";display:inline-block;width:54px;height:3px;background:var(--orange);vertical-align:middle;margin:0 18px}.site-header{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.96);border-bottom:1px solid #1d1d1d}.nav-wrap{height:92px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:295px;max-height:65px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;font-weight:800;text-transform:uppercase;font-size:.9rem}.main-nav a{padding:34px 0 28px;border-bottom:3px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--orange);border-color:var(--orange)}.contact-menu{position:relative}.contact-trigger,.orange-btn{border:0;background:var(--orange);color:white;font-weight:900;text-transform:uppercase;border-radius:6px;cursor:pointer;padding:14px 20px;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}.contact-trigger{white-space:nowrap}.contact-popover{display:none;position:absolute;right:0;top:calc(100% + 9px);width:245px;background:#111;border:1px solid #444;border-radius:8px;padding:8px;box-shadow:0 16px 40px #000a}.contact-menu.open .contact-popover{display:block}.contact-popover a{display:block;padding:12px;border-radius:5px;font-weight:800}.contact-popover a:hover{background:#252525}.hero{min-height:475px;background:#0b0b0b;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:42% 58%;min-height:475px}.hero-copy{position:relative;z-index:2;padding:58px 16px 48px 0;background:linear-gradient(90deg,#070707 0%,#070707 74%,rgba(7,7,7,.86) 89%,transparent 100%)}.eyebrow{color:var(--orange);text-transform:uppercase;font-weight:900;letter-spacing:.05em}.hero h1{font-size:clamp(3rem,5vw,5rem);line-height:.96;margin:10px 0 24px;text-transform:uppercase;font-weight:1000;letter-spacing:-.035em}.orange-rule{height:4px;width:100px;background:var(--orange);margin:0 0 24px}.hero p{max-width:470px;color:#f4f4f4;font-size:1.08rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.outline-btn{border:1px solid #ddd;background:#111b;color:white;border-radius:6px;padding:13px 20px;font-weight:900;text-transform:uppercase;cursor:pointer}.hero-photo{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:center}.services{background:var(--off);padding:32px 0 38px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.service-card{background:#090909;color:white;text-align:center;padding:26px 14px 24px;min-height:220px;border-radius:5px}.service-icon{font-size:2.3rem;color:var(--orange);height:52px}.service-card h3{font-size:.9rem;text-transform:uppercase;margin:6px 0 10px}.service-card p{font-size:.82rem;color:#e4e4e4;margin:0}.projects{background:var(--off);padding:15px 0 38px}.project-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.project-card{background:#0c0c0c;border-radius:6px;overflow:hidden;border:1px solid #222;color:white;position:relative}.project-card img{width:100%;height:175px;object-fit:cover}.project-card .body{padding:13px 12px 15px;text-align:center}.project-card h3{margin:0 0 5px;text-transform:uppercase;font-size:.96rem}.project-card p{margin:0;color:#ddd;font-size:.82rem}.badge{position:absolute;top:9px;left:9px;background:rgba(0,0,0,.78);color:#fff;border:1px solid #ffffff55;border-radius:99px;padding:5px 9px;font-size:.65rem;font-weight:800;text-transform:uppercase}.gallery-btn-wrap{text-align:center;margin-top:18px}.gallery-button{display:inline-flex;align-items:center;gap:10px;background:#0b0b0b;border:2px solid var(--orange);color:#fff;padding:12px 30px;border-radius:5px;text-transform:uppercase;font-weight:900}.about{padding:38px 0 34px;background:radial-gradient(circle at 20% 0,#181818 0,#0a0a0a 55%,#050505 100%)}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px}.about h2{margin:0;font-size:1rem;color:var(--orange);text-transform:uppercase}.about h3{font-size:2rem;margin:0 0 1px;text-transform:uppercase}.owner{color:var(--orange);font-weight:900;text-transform:uppercase;margin-bottom:16px}.about-copy{max-width:700px}.tagline{color:var(--orange);font-weight:1000;text-transform:uppercase;font-size:1.05rem;margin-top:18px}.trust-list{border-left:1px solid #777;padding-left:38px;display:flex;flex-direction:column;justify-content:center;gap:19px}.trust-item{display:flex;align-items:center;gap:14px;text-transform:uppercase;font-size:1rem}.check{color:var(--orange);font-size:1.8rem;font-weight:900}.reviews{background:#111;padding:30px 0;text-align:center;border-top:1px solid #242424;border-bottom:1px solid #242424}.reviews h2{margin:0 0 8px;text-transform:uppercase}.reviews p{margin:0 auto 18px;max-width:700px;color:#d0d0d0}.cta{padding:18px 0;background:#080808}.cta-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px}.cta h2{margin:0;text-transform:uppercase;font-size:1.8rem}.cta h2 span{color:var(--orange)}.cta p{margin:2px 0 0;color:#ddd}.email-btn{border:1px solid #aaa;padding:14px 24px;border-radius:6px;font-weight:900}.site-footer{background:#050505;border-top:1px solid #222;padding:25px 0 85px}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr .9fr 1fr;gap:28px}.footer-logo{width:240px;margin-bottom:10px}.footer-col h4{margin:0 0 10px;text-transform:uppercase}.footer-col p,.footer-col a{font-size:.88rem;color:#ddd}.footer-col a{display:block;margin:5px 0}.footer-col a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #222;margin-top:20px;padding-top:15px;font-size:.78rem;color:#aaa;display:flex;justify-content:space-between;gap:15px}.mobile-contact{display:none}.gallery-hero{padding:62px 0 45px;text-align:center;background:linear-gradient(180deg,#111,#070707)}.gallery-hero h1{font-size:clamp(2.3rem,5vw,4rem);margin:0;text-transform:uppercase}.gallery-hero p{color:#ccc;max-width:730px;margin:12px auto 0}.gallery-section{background:var(--off);color:#111;padding:38px 0 48px}.gallery-section h2{text-transform:uppercase}.gallery-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{background:white;border:1px solid #ddd;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px #00000010}.gallery-item img{height:280px;width:100%;object-fit:cover}.gallery-item .caption{padding:13px 14px}.gallery-item h3{margin:0 0 4px;text-transform:uppercase;font-size:1rem}.gallery-item p{margin:0;color:#555;font-size:.86rem}.gallery-category{margin:34px 0 15px;padding-top:10px;border-top:3px solid var(--orange)}
@media(max-width:980px){.main-nav{display:none}.nav-wrap{height:78px}.brand img{width:245px}.hero-grid{grid-template-columns:1fr}.hero-photo{width:100%;opacity:.52}.hero-copy{padding-left:0;background:linear-gradient(90deg,rgba(7,7,7,.96),rgba(7,7,7,.7) 70%,rgba(7,7,7,.2))}.service-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr}.trust-list{border-left:0;border-top:1px solid #777;padding:28px 0 0}.cta-grid{grid-template-columns:1fr 1fr}.cta-copy{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.gallery-full-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{padding-bottom:66px}.container{width:min(100% - 24px,var(--max))}.brand img{width:205px}.contact-trigger{padding:11px 12px;font-size:.78rem}.hero{min-height:520px}.hero-grid{min-height:520px}.hero-copy{padding-top:55px}.hero h1{font-size:3.1rem}.hero-photo{object-position:55% center}.section-title:before,.section-title:after{width:25px;margin:0 9px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:210px}.project-grid{grid-template-columns:1fr}.project-card img{height:235px}.about h3{font-size:1.55rem}.trust-item{font-size:.9rem}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.gallery-full-grid{grid-template-columns:1fr}.gallery-item img{height:245px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--orange);box-shadow:0 -4px 20px #0008}.mobile-contact a{padding:13px 5px;text-align:center;text-transform:uppercase;font-weight:900;font-size:.78rem;border-right:1px solid #ffffff80}.mobile-contact a:last-child{border-right:0}}

.review-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.social-links{display:flex;gap:10px;margin-top:0}.social-icon{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #777;border-radius:50%;font-weight:900;font-size:1.15rem;color:#fff!important}.social-icon:hover{border-color:var(--orange);color:var(--orange)!important}.review-google{display:flex!important;align-items:center;gap:7px;color:var(--orange)!important;font-weight:900;font-size:.82rem!important;line-height:1.05;margin:0!important;text-transform:uppercase}.review-arrow{font-size:2.25rem;line-height:1;font-weight:1000;display:inline-block;transform:translateY(-1px)}.color-section{background:var(--off);color:#111;padding:38px 0 50px}.color-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.color-choice{background:#fff;border:1px solid #ddd;border-radius:8px;padding:22px;box-shadow:0 6px 20px #00000010}.color-choice h2{margin:0 0 6px;text-transform:uppercase}.color-choice p{margin:0 0 16px;color:#555}.pdf-frame{margin-top:18px;height:680px;border:1px solid #bbb;background:#eee}.pdf-frame object{width:100%;height:100%}@media(max-width:900px){.color-choice-grid{grid-template-columns:1fr}.pdf-frame{height:560px}}@media(max-width:600px){.pdf-frame{height:460px}}

/* Force the Ridgetop mark to render crisp bright white on dark backgrounds. */
.brand img,.footer-logo{filter:brightness(0) invert(1);opacity:1!important}
.social-icon{padding:0;overflow:hidden;background:#fff;border:0!important}
.social-icon img{width:100%;height:100%;display:block;object-fit:cover}
.social-icon:hover{transform:translateY(-2px);box-shadow:0 0 0 2px var(--orange)}

/* v6: keep existing site; brighten logo whites and enlarge Google review arrow only. */
.brand img,.footer-logo{filter:grayscale(1) brightness(0) invert(1) contrast(2)!important;opacity:1!important}
.review-row{align-items:center!important}
.review-google{display:flex!important;align-items:center!important;gap:10px!important;color:var(--orange)!important;font-weight:900!important;font-size:.9rem!important;line-height:1.05!important;margin:0!important;text-transform:uppercase!important}
.review-copy{display:inline-block}
.review-arrow{font-family:Arial,Helvetica,sans-serif!important;font-size:4.75rem!important;line-height:.65!important;font-weight:900!important;color:#fff!important;display:inline-block!important;transform:translate(-7px,-11px) rotate(-5deg)!important;text-shadow:0 0 2px #fff}
@media(max-width:600px){.review-arrow{font-size:4.1rem!important;transform:translate(-5px,-8px) rotate(-5deg)!important}}

/* v8 final polish: true-white logo asset, prominent service area, licensed & bonded, and curved Google arrow. */
.brand img,.footer-logo{filter:none!important;opacity:1!important}
.service-area h4{font-size:1.2rem!important;margin-bottom:4px!important}
.service-region{font-size:1.18rem!important;line-height:1.25!important;font-weight:900!important;color:#fff!important;margin:0 0 16px!important}
.licensed-bonded{font-size:1.2rem!important;line-height:1.1!important;font-weight:1000!important;text-transform:uppercase!important;color:#fff!important;letter-spacing:.03em!important;margin:0 0 5px!important}
.license-number{font-size:.92rem!important;color:#ddd!important;margin:0!important}
.review-row{align-items:flex-start!important;gap:10px!important}
.review-google{position:relative!important;display:flex!important;align-items:flex-end!important;gap:3px!important;margin-top:2px!important;overflow:visible!important}
.review-copy{font-size:.95rem!important;line-height:1.05!important;color:var(--orange)!important;font-weight:1000!important;white-space:nowrap!important}
.review-arrow{width:112px!important;height:72px!important;object-fit:contain!important;display:block!important;transform:translate(-8px,-20px)!important;filter:none!important}
@media(max-width:600px){.service-region{font-size:1.08rem!important}.licensed-bonded{font-size:1.1rem!important}.review-arrow{width:100px!important;height:65px!important;transform:translate(-7px,-17px)!important}}


/* v9: remove footer Google review prompt/arrow and emphasize the main Google reviews button. */
.google-reviews-btn{display:inline-block;background:var(--orange)!important;color:#fff!important;border:2px solid var(--orange)!important;border-radius:7px!important;padding:14px 28px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.02em!important;box-shadow:0 5px 18px rgba(255,79,0,.30)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.google-reviews-btn:hover{background:#ff641f!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(255,79,0,.42)!important}
.review-row{margin-top:14px!important}
.review-google,.review-copy,.review-arrow{display:none!important}


/* v10 authoritative review cleanup */
.review-google,.review-copy,.review-arrow{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
.google-reviews-btn,.btn-orange{display:inline-block!important;background:#ff5a00!important;color:#fff!important;border:2px solid #ff5a00!important;border-radius:7px!important;padding:15px 30px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(255,90,0,.35)!important;}
.google-reviews-btn:hover,.btn-orange:hover{background:#ff6a1a!important;border-color:#ff6a1a!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(255,90,0,.45)!important;}

/* v11 final: direct Google Reviews button + clean homepage project photos */
.reviews .google-reviews-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ff4f00!important;color:#fff!important;border:2px solid #ff4f00!important;border-radius:7px!important;padding:16px 32px!important;font-size:1rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.025em!important;box-shadow:0 6px 20px rgba(255,79,0,.42)!important;}
.reviews .google-reviews-btn:hover{background:#ff681f!important;border-color:#ff681f!important;color:#fff!important;box-shadow:0 9px 26px rgba(255,79,0,.52)!important;transform:translateY(-2px)!important;}

/* v12: dedicated, unmistakable Google Reviews CTA. */
#google-reviews-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ff5a00!important;color:#fff!important;border:3px solid #fff!important;border-radius:8px!important;padding:17px 34px!important;font-size:1.08rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.025em!important;text-decoration:none!important;box-shadow:0 7px 22px rgba(255,90,0,.55),0 0 0 2px rgba(255,90,0,.25)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;}
#google-reviews-cta:hover{background:#ff6f22!important;color:#fff!important;border-color:#fff!important;transform:translateY(-3px) scale(1.02)!important;box-shadow:0 10px 30px rgba(255,90,0,.68),0 0 0 3px rgba(255,90,0,.22)!important;}
#google-reviews-cta:focus-visible{outline:4px solid #ffd0b8!important;outline-offset:4px!important;}
@media(max-width:600px){#google-reviews-cta{width:100%!important;max-width:360px!important;padding:16px 20px!important;font-size:1rem!important;}}

/* v13: prominent Google reviews CTA */
#google-reviews-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;background:#ff5a00!important;color:#fff!important;border:4px solid #fff!important;border-radius:10px!important;padding:20px 40px!important;font-size:1.2rem!important;font-weight:1000!important;line-height:1.1!important;text-transform:uppercase!important;letter-spacing:.035em!important;text-decoration:none!important;box-shadow:0 10px 30px rgba(0,0,0,.65),0 0 24px rgba(255,90,0,.48)!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;}
#google-reviews-cta .google-g-wrap{width:40px;height:40px;flex:0 0 40px;background:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:7px;box-shadow:0 2px 8px rgba(0,0,0,.28);}
#google-reviews-cta .google-g-wrap img{display:block!important;width:26px!important;height:26px!important;object-fit:contain!important;}
#google-reviews-cta:hover{background:#ff6a14!important;color:#fff!important;transform:translateY(-3px) scale(1.025)!important;box-shadow:0 14px 36px rgba(0,0,0,.72),0 0 30px rgba(255,90,0,.65)!important;}
#google-reviews-cta:focus-visible{outline:4px solid #ffb08a!important;outline-offset:5px!important;}
@media(max-width:600px){#google-reviews-cta{width:100%!important;max-width:390px!important;padding:18px 20px!important;font-size:1.02rem!important;gap:10px!important;}#google-reviews-cta .google-g-wrap{width:36px;height:36px;flex-basis:36px;}}


/* v14: service-area hierarchy — Washington primary, Northern Idaho secondary. */
.service-area .based-in{margin:0 0 5px!important;color:#fff!important;font-size:.88rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.service-area .serving-washington{margin:0!important;color:#fff!important;font-size:1.42rem!important;line-height:1.12!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.015em!important;}
.service-area .serving-washington span{color:var(--orange)!important;}
.service-area .northern-idaho{margin:3px 0 16px!important;color:#fff!important;font-size:1.08rem!important;line-height:1.15!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.025em!important;}
@media(max-width:600px){.service-area .serving-washington{font-size:1.32rem!important}.service-area .northern-idaho{font-size:1.03rem!important}}


/* v15: unified primary CTA buttons + final Serving footer hierarchy */
.contact-trigger,
.orange-btn {
  background:#ff5a00!important;
  color:#fff!important;
  border:3px solid #fff!important;
  border-radius:9px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  box-shadow:0 7px 20px rgba(0,0,0,.48),0 0 16px rgba(255,90,0,.28)!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.contact-trigger:hover,
.orange-btn:hover {
  background:#ff6a14!important;
  color:#fff!important;
  border-color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.56),0 0 22px rgba(255,90,0,.42)!important;
}
.service-area h4{margin:0 0 10px!important;text-transform:uppercase!important;}
.service-area .based-in{margin:0 0 5px!important;color:#ddd!important;font-size:.88rem!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;}
.service-area .serving-washington{margin:0 0 3px!important;color:#fff!important;font-size:1.18rem!important;line-height:1.2!important;font-weight:1000!important;text-transform:none!important;letter-spacing:0!important;}
.service-area .northern-idaho{margin:0 0 12px!important;color:#fff!important;font-size:1rem!important;line-height:1.2!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;}
.service-area .licensed-bonded{margin:0 0 3px!important;color:#fff!important;font-size:1rem!important;font-weight:1000!important;text-transform:none!important;letter-spacing:0!important;}
.service-area .license-number{margin:0!important;color:#ddd!important;font-size:.88rem!important;font-weight:700!important;}

/* v16: Washington-only service area, centered licensing footer, high-contrast email CTA */
.email-btn{background:#fff!important;color:#000!important;border:2px solid #fff!important;box-shadow:0 6px 18px rgba(0,0,0,.28)!important;}
.email-btn:hover{background:#f2f2f2!important;color:#000!important;transform:translateY(-1px);}
.footer-bottom{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:18px!important;}
.footer-copyright{justify-self:start;}
.footer-credentials{justify-self:center;text-align:center;color:#fff;display:flex;flex-direction:column;gap:2px;line-height:1.25;}
.footer-credentials strong{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;}
.footer-credentials span{font-size:.82rem;color:#ddd;}
.footer-spacer{justify-self:end;}
@media(max-width:600px){.footer-bottom{grid-template-columns:1fr!important;text-align:center!important}.footer-copyright,.footer-credentials,.footer-spacer{justify-self:center!important}.footer-spacer{display:none}}


/* v18: final email CTA and licensing placement corrections */
.email-contact-box,
.email-contact-box:link,
.email-contact-box:visited {
  background:#ffffff!important;
  color:#000000!important;
  border:2px solid #ffffff!important;
}
.email-contact-box span { color:#000000!important; }
.email-contact-box:hover {
  background:#f3f3f3!important;
  color:#000000!important;
  border-color:#ffffff!important;
}
.footer-credentials span {
  font-size:.88rem!important;
  color:#ddd!important;
  font-weight:700!important;
}

/* v19: matching white header email CTA and license in About owner line */
.header-email-btn, .header-email-btn:link, .header-email-btn:visited {background:#ffffff!important;color:#000000!important;border:2px solid #ffffff!important;box-shadow:0 6px 18px rgba(0,0,0,.28)!important;}
.header-email-btn:hover {background:#f2f2f2!important;color:#000000!important;transform:translateY(-1px);}
.owner-license{color:#ffffff;font-weight:900;}

/* v20: force hero Email Us button to match the white/black email contact box */
.header-email-btn,.hero-actions .header-email-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ffffff!important;color:#000000!important;border:2px solid #ffffff!important;border-radius:6px!important;padding:14px 24px!important;font-weight:900!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(0,0,0,.28)!important;}
.header-email-btn:hover,.hero-actions .header-email-btn:hover{background:#f2f2f2!important;color:#000000!important;border-color:#ffffff!important;transform:translateY(-1px)!important;}

/* About section hierarchy v23 */
.about h2{font-size:1.3rem!important;letter-spacing:.045em!important;margin-bottom:2px!important;}
.owner-name,.owner-license{color:var(--orange)!important;font-weight:900!important;}
.owner-role{color:#ffffff!important;font-weight:900!important;}
.owner-sep{color:#d8d8d8!important;font-weight:900!important;margin:0 .12em!important;}


/* v25: simplified three-column footer and service counties */
.footer-grid.footer-grid-clean{grid-template-columns:.9fr 1fr 1.15fr!important;gap:72px!important;max-width:930px;margin:0 auto;}
.footer-grid-clean .quick-links-col{justify-self:start;}
.footer-grid-clean .service-area p{margin:4px 0!important;color:#ddd!important;font-size:.9rem!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;line-height:1.35!important;}
.footer-grid-clean .footer-col h4{font-size:1rem!important;letter-spacing:.02em!important;}
@media(max-width:980px){.footer-grid.footer-grid-clean{grid-template-columns:repeat(3,1fr)!important;gap:34px!important;max-width:none!important;}}
@media(max-width:600px){.footer-grid.footer-grid-clean{grid-template-columns:1fr!important;gap:26px!important;}}

/* v26: tighter Service Counties spacing and evenly balanced footer columns */
.footer-grid.footer-grid-clean{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:48px!important;
  max-width:1080px!important;
  margin:0 auto!important;
  align-items:start!important;
}
.footer-grid-clean .footer-col{width:100%;}
.footer-grid-clean .quick-links-col{justify-self:stretch!important;}
.footer-grid-clean .service-area p{
  margin:1px 0!important;
  line-height:1.18!important;
}
.footer-grid-clean .service-area h4{margin-bottom:9px!important;}
@media(max-width:980px){
  .footer-grid.footer-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;max-width:none!important;}
}
@media(max-width:700px){
  .footer-grid.footer-grid-clean{grid-template-columns:1fr!important;gap:24px!important;}
}

/* v27: anchor footer columns across the full desktop width */
@media(min-width:981px){
  .footer-grid.footer-grid-clean{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:0!important;
    max-width:none!important;
    width:100%!important;
    margin:0!important;
  }
  .footer-grid-clean .quick-links-col{justify-self:start!important;text-align:left!important;width:auto!important;}
  .footer-grid-clean .service-area{justify-self:center!important;text-align:center!important;width:auto!important;}
  .footer-grid-clean .footer-col:last-child{justify-self:end!important;text-align:left!important;width:auto!important;}
  .footer-grid-clean .footer-col:last-child .review-row,
  .footer-grid-clean .footer-col:last-child .social-links{justify-content:flex-start!important;}
}

/* v28: true full-width, visually balanced three-column footer */
@media (min-width: 981px) {
  .site-footer > .container {
    width: calc(100% - 72px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer-grid.footer-grid-clean {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
    margin: 0 !important;
    align-items: start !important;
  }
  .footer-grid-clean .quick-links-col {
    justify-self: start !important;
    text-align: left !important;
    width: auto !important;
  }
  .footer-grid-clean .service-area {
    justify-self: center !important;
    text-align: center !important;
    width: auto !important;
  }
  .footer-grid-clean .footer-col:last-child {
    justify-self: end !important;
    text-align: left !important;
    width: auto !important;
  }
  .footer-grid-clean .footer-col h4 {
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    margin: 0 0 10px !important;
    text-transform: uppercase !important;
  }
  .footer-grid-clean .service-area p {
    margin: 1px 0 !important;
    line-height: 1.16 !important;
  }
  .footer-grid-clean .footer-col:last-child .review-row,
  .footer-grid-clean .footer-col:last-child .social-links {
    justify-content: flex-start !important;
  }
}

/* v29: balance vertical rhythm across all three footer columns */
.footer-grid-clean .footer-col > a,
.footer-grid-clean .service-area > p {
  display: block !important;
  margin: 5px 0 !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: #ddd !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.footer-grid-clean .service-area > p { text-align: inherit !important; }
.footer-grid-clean .footer-col h4 {
  margin: 0 0 10px !important;
  font-size: 1.08rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
/* Preserve CTA styling inside Get In Touch while keeping row spacing consistent. */
.footer-grid-clean .footer-col > a.orange-btn {
  display: inline-block !important;
  margin-top: 9px !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.2 !important;
}

/* v30 Specialty Services */
.service-card h3 { color: #ff5a00 !important; }
.service-icon { display:none !important; }

/* v32: specialty service headings */
.service-card h3 {
  color: #ff5a00 !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .01em;
}


/* v33: Free Estimate contact-card modal */
.footer-estimate-btn {
  border: 3px solid #fff !important;
  cursor: pointer !important;
  font-family: inherit !important;
  margin-top: 9px !important;
}
.estimate-modal[hidden] { display: none !important; }
.estimate-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 22px;
}
.estimate-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(3px);
}
.estimate-card {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  background: #111;
  color: #fff;
  border: 2px solid #ff5a00;
  border-radius: 14px;
  box-shadow: 0 22px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(255,90,0,.25);
  padding: 30px;
}
.estimate-card h2 {
  margin: 0 42px 7px 0;
  color: #ff5a00;
  font-size: clamp(1.55rem, 4vw, 2rem);
  text-transform: uppercase;
}
.estimate-card .estimate-intro {
  margin: 0 0 20px;
  color: #ddd;
  line-height: 1.5;
}
.estimate-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.estimate-form { display: grid; gap: 14px; }
.estimate-field { display: grid; gap: 6px; }
.estimate-field label {
  font-weight: 800;
  color: #fff;
  font-size: .95rem;
}
.estimate-field input,
.estimate-field textarea {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  color: #000;
  border: 2px solid #fff;
  border-radius: 7px;
  padding: 12px 13px;
  font: inherit;
  outline: none;
}
.estimate-field input:focus,
.estimate-field textarea:focus {
  border-color: #ff5a00;
  box-shadow: 0 0 0 3px rgba(255,90,0,.25);
}
.estimate-field textarea { min-height: 120px; resize: vertical; }
.estimate-submit {
  margin-top: 4px;
  width: 100%;
  background: #ff5a00;
  color: #fff;
  border: 3px solid #fff;
  border-radius: 8px;
  padding: 14px 20px;
  font: inherit;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 7px 22px rgba(255,90,0,.42);
}
.estimate-submit:hover { background: #ff6a1a; transform: translateY(-1px); }
.estimate-note {
  margin: 2px 0 0;
  font-size: .82rem;
  color: #bbb;
  line-height: 1.45;
  text-align: center;
}
body.modal-open { overflow: hidden; }
@media (max-width: 560px) {
  .estimate-modal { padding: 10px; }
  .estimate-card { padding: 24px 18px 20px; max-height: calc(100vh - 20px); }
}

/* v34 dedicated Free Estimate page */
.estimate-page{min-height:calc(100vh - 90px);padding:70px 0;background:linear-gradient(180deg,#090909,#121212);}
.estimate-page-card{margin:0 auto;}
.estimate-page-card h1{margin:0 0 10px;color:#ff5a00;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.5rem);}
.footer-estimate-btn{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;}

/* v35 Washington service-area label */
.service-state { font: inherit; font-weight: 400; line-height: inherit; margin: 0 0 0.35rem; }

/* v36: emphasize state label above county list */
.footer-col.service-area .service-state {
  font-size: 1.12em;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 0.45rem;
}

/* v37: Washington service-state label */
.footer-grid-clean .service-area .service-state{
  display:block!important;
  margin:7px 0 9px!important;
  color:#ffffff!important;
  font-size:1.04rem!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
}

/* v38 mobile navigation */
.mobile-nav-toggle{display:none;background:transparent;border:2px solid #fff;color:#fff;border-radius:6px;min-width:84px;height:42px;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:7px 10px;flex:0 0 auto}
.mobile-nav-toggle .menu-bars{display:flex;width:22px;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.mobile-nav-toggle .menu-bars i{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.mobile-nav-toggle .menu-label{font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1;color:#fff}
.mobile-nav-toggle[aria-expanded="true"] .menu-bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-nav-toggle[aria-expanded="true"] .menu-bars i:nth-child(2){opacity:0}
.mobile-nav-toggle[aria-expanded="true"] .menu-bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:980px){
  .nav-wrap{position:relative;gap:12px}
  .mobile-nav-toggle{display:flex;margin-left:auto}
  .nav-wrap>.contact-menu{display:none}
  .main-nav{display:none!important;position:absolute;left:0;right:0;top:100%;z-index:100;background:#080808;border-top:1px solid #2a2a2a;border-bottom:2px solid var(--orange);padding:8px 18px 14px;box-shadow:0 16px 28px rgba(0,0,0,.5);flex-direction:column;align-items:stretch;gap:0}
  .main-nav.mobile-open{display:flex!important}
  .main-nav a{display:block;padding:13px 4px!important;border-bottom:1px solid #242424!important;font-size:.92rem}
  .main-nav a:last-child{border-bottom:0!important}
  .main-nav a:hover,.main-nav a.active{border-color:#242424!important;color:var(--orange)}
}
@media(max-width:600px){
  .nav-wrap{height:72px}
  .brand img{width:190px}
  .mobile-nav-toggle{min-width:82px;height:40px}
}


/* v42 — Washington + Idaho service section and four-column footer. Existing header/hero intentionally untouched. */
.service-region-v42{position:relative;background:linear-gradient(rgba(5,5,5,.88),rgba(5,5,5,.88)),url('../images/projects/hero-garage.jpg') center 54%/cover no-repeat;color:#fff;padding:46px 0 38px;border-top:1px solid #222;border-bottom:3px solid var(--orange);overflow:hidden}
.service-region-v42:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.08)}
.service-region-v42-inner{position:relative;z-index:1}
.service-region-v42-heading{text-align:center;text-transform:uppercase;margin-bottom:20px}
.serving-kicker{display:flex;align-items:center;justify-content:center;gap:24px;color:#fff;font-weight:900;font-size:clamp(1.35rem,2.8vw,2.15rem);letter-spacing:.055em}
.serving-kicker span{width:125px;max-width:18vw;height:3px;background:var(--orange)}
.service-region-v42-heading h2{margin:8px 0 0;font-size:clamp(2.35rem,5.6vw,5rem);line-height:.98;letter-spacing:.015em;font-weight:950}
.service-region-v42-heading h2 span{color:var(--orange)}
.service-region-v42-heading h2 em{font-style:normal;color:#fff;margin:0 .12em}
.state-pair-v42{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:34px;align-items:center;max-width:1080px;margin:0 auto}
.state-divider-v42{height:330px;background:rgba(255,255,255,.5)}
.state-panel-v42{position:relative;min-height:370px;display:grid;place-items:center}
.state-map-v42{position:absolute;inset:0;margin:auto;width:96%;height:96%;fill:none;stroke:#fff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 10px rgba(0,0,0,.7))}
.wa-map-v42 .sound-detail{stroke-width:4;opacity:.92}
.id-map-v42{width:66%;height:100%}
.state-copy-v42{position:relative;z-index:2;text-align:center;text-transform:uppercase;text-shadow:0 2px 9px #000;display:flex;flex-direction:column;align-items:center}
.state-copy-v42 h3{color:var(--orange);font-size:clamp(1.65rem,3vw,2.55rem);margin:0 0 8px;letter-spacing:.02em}
.mini-mountain{font-size:.7rem;letter-spacing:-.18em;color:#fff;border-top:2px solid var(--orange);border-bottom:2px solid var(--orange);padding:5px 18px 4px;margin-bottom:12px}
.state-copy-v42>span{font-size:clamp(.95rem,1.7vw,1.2rem);font-weight:900;letter-spacing:.05em}
.state-phone-v42{color:#fff!important;font-size:clamp(1.65rem,3vw,2.7rem);font-weight:950;text-decoration:none;margin-top:2px;line-height:1.05}
.state-actions-v42{display:flex;gap:8px;margin-top:11px}
.state-actions-v42 a{display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.65);border-radius:5px;padding:6px 13px;font-size:.78rem;font-weight:800;text-decoration:none}
.state-actions-v42 a:hover{background:var(--orange);border-color:var(--orange)}
.estimate-cta-v42{background:#151515;color:#fff;border-top:1px solid #2a2a2a;border-bottom:2px solid var(--orange)}
.estimate-cta-v42-inner{display:flex;align-items:center;justify-content:center;gap:70px;padding-top:25px;padding-bottom:25px}
.estimate-cta-v42-copy h2{margin:0 0 4px;color:var(--orange);font-size:1.45rem;text-transform:uppercase;letter-spacing:.02em}
.estimate-cta-v42-copy p{margin:0;color:#eee}
.estimate-cta-v42-btn{min-width:210px;text-align:center;border:3px solid #fff!important;box-shadow:0 7px 22px rgba(255,90,0,.4)!important}
.footer-grid-v42{display:grid!important;grid-template-columns:1fr 1fr 1fr 1.15fr!important;gap:52px!important;align-items:start!important}
.footer-grid-v42 .footer-col{min-width:0}
.footer-grid-v42 .footer-col h4{font-size:1.08rem!important;font-weight:900!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.02em!important;color:var(--orange)!important;margin:0 0 12px!important}
.footer-grid-v42 .footer-col>a,.footer-grid-v42 .footer-col>p{display:block!important;margin:5px 0!important;font-size:.88rem!important;line-height:1.5!important;font-weight:400!important;color:#ddd!important;text-decoration:none}
.footer-grid-v42 .region-phone-v42{font-size:1.28rem!important;font-weight:900!important;color:#fff!important;margin-bottom:10px!important}
.region-col-v42 p b{color:var(--orange);font-size:1.25em;margin-right:7px}
.footer-grid-v42 .social-links{justify-content:flex-start!important;margin-top:14px}
@media(max-width:980px){
  .state-pair-v42{grid-template-columns:1fr;gap:12px}.state-divider-v42{width:75%;height:1px;margin:auto}.state-panel-v42{min-height:320px}.id-map-v42{width:52%;height:100%}
  .estimate-cta-v42-inner{flex-direction:column;text-align:center;gap:16px}.footer-grid-v42{grid-template-columns:1fr 1fr!important;gap:30px!important}
}
@media(max-width:600px){
  .service-region-v42{padding:36px 0 30px}.serving-kicker{gap:12px}.serving-kicker span{width:45px}.service-region-v42-heading h2{font-size:clamp(2rem,11vw,3.1rem)}
  .state-panel-v42{min-height:280px}.state-map-v42{width:100%;height:100%}.id-map-v42{width:57%;height:100%}.state-phone-v42{font-size:1.8rem}
  .footer-grid-v42{grid-template-columns:1fr!important;text-align:center}.footer-grid-v42 .footer-col>p{text-align:center!important}.footer-grid-v42 .social-links{justify-content:center!important}.estimate-cta-v42-btn{width:min(100%,280px)}
}
