:root{--ink:#171717;--muted:#5e5a52;--cream:#f5f1e7;--gold:#b18a36;--line:#e1d9c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fffefa;color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:hover{color:#8a651f}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b18a36;outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}.wrap{width:min(1240px,90%);margin:auto}header{border-bottom:1px solid var(--line);background:#fffefa;position:sticky;top:0;z-index:10}nav{display:flex;align-items:center;justify-content:space-between;min-height:98px;gap:25px}.brand{display:flex;align-items:center;gap:13px;font-size:22px;letter-spacing:2px;font-weight:700;line-height:1.3}.brand img{object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:2.1px}.navlinks{display:flex;gap:32px;font-size:14px}.navcall{font-size:14px;border-bottom:1px solid var(--ink);padding:9px 0}.eyebrow{font-size:11px!important;letter-spacing:2px;font-weight:700;line-height:1.6;margin:0 0 22px!important;color:#886820}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.09;letter-spacing:-1.5px;margin:0 0 28px}h1{font-size:clamp(44px,4.5vw,66px)}h2{font-size:clamp(34px,3.4vw,48px)}h3{font-size:21px;line-height:1.3;font-weight:500;margin:0 0 14px}p{color:var(--muted);margin:0 0 22px}h1 em{color:#927026;font-weight:400}.hero{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:55px;padding:65px 0 55px}.herocopy>p{max-width:490px}.heroimage img{height:575px;width:100%;object-fit:cover;object-position:51% center}.heroimage figcaption{padding:14px 0;font-size:10px;letter-spacing:1.3px;display:flex;justify-content:space-between}.heroimage figcaption span{letter-spacing:0;font-size:12px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0}.button{border:0;display:inline-block;background:var(--ink);color:#fffefa;padding:16px 23px;font-size:14px;cursor:pointer}.button:hover{background:#34302a;color:white}.textlink{font-size:14px;border-bottom:1px solid #b18a36;padding-bottom:5px}.trust{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;padding-top:15px;color:var(--muted)}.section{padding-top:95px;padding-bottom:95px}.cream{background:var(--cream)}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.sectionhead p{max-width:380px}.sectionhead h2{margin-bottom:0}.service-list>a{display:grid;grid-template-columns:50px 1fr 1fr 30px;align-items:center;gap:25px;border-top:1px solid #d8cdb8;padding:27px 0}.service-list>a:last-child{border-bottom:1px solid #d8cdb8}.service-list h3,.service-list p{margin:0}.service-list h3{font-family:Georgia,serif;font-size:28px}.service-list p{font-size:13px}.number{font-size:12px;color:#8a713f}.arrow{font-size:28px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery img{width:100%;height:390px;object-fit:cover}.gallery figcaption{font-size:12px;padding:13px 0 28px;color:var(--muted);line-height:1.5}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.about{align-items:center}.about>img{width:100%;height:490px;object-fit:cover}.signature{font-family:Georgia,serif;font-style:italic;font-size:24px;color:var(--ink);margin-top:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps span{display:block;border-top:1px solid #d8cdb8;padding:22px 0;font-size:12px}.steps p{font-size:14px}.areas{line-height:2.3;color:var(--ink)}.faq{max-width:850px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{margin:18px 0 0;max-width:720px}.contact{background:var(--ink);padding:85px 0;color:white;scroll-margin-top:80px}.contact p{color:#e1d9c9}.contact .eyebrow{color:#d8b65f}.bigphone{font-family:Georgia,serif;font-size:30px;display:block;margin:30px 0 15px}.estimate-form{background:#fffefa;color:var(--ink);padding:35px}.estimate-form p{color:var(--muted);font-size:13px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label{font-size:12px;display:block}.full{grid-column:1/-1}input,select,textarea{display:block;background:white;width:100%;border:1px solid #c9bfa9;border-radius:0;padding:10px;margin-top:5px;font-size:15px;color:var(--ink)}textarea{resize:vertical}.estimate-form button{width:100%;margin-top:20px}.fine{font-size:11px!important;line-height:1.7}.estimate-form .fine{margin:13px 0 0}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:65px 0 40px;font-size:13px}.footergrid a{display:block;margin-bottom:9px}.footergrid p{margin-top:15px}footer>.fine{border-top:1px solid var(--line);padding:22px 0}.pagehero{padding-top:70px;padding-bottom:65px;max-width:1000px}.pagehero h1{max-width:900px}.pagehero>p{max-width:720px}.lede{font-family:Georgia,serif;font-size:28px;color:var(--ink)}.detailphoto{width:min(1240px,90%);margin:auto}.detailphoto img{width:100%;height:450px;object-fit:cover}.scope article{border-top:1px solid var(--line);padding:20px 0}.scope p{font-size:14px}.progressheading{margin-top:60px}.mobilebar{display:none}.skip{position:absolute;left:15px;top:-100px;background:white;padding:12px;z-index:50}.skip:focus{top:5px}@media(min-width:1500px){.heroimage img{height:620px}}@media(max-width:900px){.navlinks{gap:17px}.brand{font-size:17px}.hero{gap:30px}.heroimage img{height:480px}.split{gap:40px}.service-list>a{grid-template-columns:35px 1fr 1fr 25px}.gallery{gap:15px}.gallery img{height:320px}}@media(max-width:700px){nav{min-height:80px;gap:10px}.brand{font-size:16px;gap:8px}.brand img{width:37px;height:37px}.navlinks{display:none}.navcall{font-size:11px}.hero{grid-template-columns:1fr;padding-top:38px;gap:25px}.heroimage img{height:330px}.heroimage figcaption{font-size:9px}.herocopy>p{font-size:15px}h1{font-size:45px}h2{font-size:36px}.section{padding-top:60px;padding-bottom:60px}.sectionhead{display:block}.sectionhead>p,.sectionhead>.textlink{margin-top:24px;display:inline-block}.service-list>a{grid-template-columns:24px 1fr 22px;gap:12px;padding:24px 0}.service-list h3{font-size:24px}.service-list p{grid-column:2;grid-row:2}.service-list .arrow{grid-column:3;grid-row:1}.gallery{grid-template-columns:1fr 1fr;gap:15px}.gallery img{height:280px}.gallery figcaption{font-size:11px}.gallery figure:first-child:last-child{grid-column:1/-1}.split{grid-template-columns:1fr;gap:35px}.about>img{height:350px}.steps{grid-template-columns:1fr;gap:12px}.steps p{margin-bottom:12px}.contact{padding:60px 0}.estimate-form{padding:24px}.footergrid{grid-template-columns:1fr 1fr;gap:25px}.footergrid>div:first-child{grid-column:1/-1}footer{padding-bottom:60px}.mobilebar{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -2px 10px #0001}.mobilebar a{padding:14px;text-align:center;background:var(--cream);font-size:14px}.mobilebar a:last-child{background:var(--ink);color:white}.pagehero{padding-top:45px;padding-bottom:35px}.detailphoto img{height:330px}.actions{gap:18px}.button{padding:14px 20px}.bigphone{font-size:28px}}@media(max-width:380px){.gallery{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.fields label{grid-column:1}.navcall{font-size:10px}.brand{font-size:14px}h1{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Black and gold brand accents */
.button{background:#d5b15a;color:#171717;font-weight:600}.button:hover{background:#e3c67e;color:#171717}.navcall{border-color:#b18a36}.brand{color:#171717}.service-list>a{grid-template-columns:50px 1fr 1fr}.contact{border-top:4px solid #b18a36}.mobilebar a:last-child{background:#d5b15a;color:#171717}.heroimage figcaption{color:#776039}@media(max-width:900px){.service-list>a{grid-template-columns:35px 1fr 1fr}}@media(max-width:700px){.service-list>a{grid-template-columns:24px 1fr}.service-list p{grid-column:2}}

.reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.review{background:#fffefa;border-top:2px solid #b18a36;padding:30px;display:flex;flex-direction:column}.stars,.rating span{color:#917020;letter-spacing:3px}.review blockquote{margin:22px 0 30px;flex:1}.review blockquote p{font-family:Georgia,serif;font-size:25px;line-height:1.4;color:#171717;margin:0}.review figcaption{font-size:13px}.review figcaption span{display:block;font-size:11px;color:#5e5a52;margin-top:5px}.rating{margin:0 0 15px}.rating b{font-size:28px;color:#171717}.rating small{font-size:11px}@media(max-width:700px){.reviewgrid{grid-template-columns:1fr}.review{padding:25px}.rating{margin-top:25px}.review blockquote{margin-bottom:24px}}

.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.estimate-form button:disabled{opacity:.65;cursor:wait}.form-status:not(:empty){padding:16px;border:1px solid #b18a36;margin-top:18px;font-size:15px;color:#171717}.form-status[data-state="error"]{border-color:#9e3129;color:#87251f}

.truck-feature{margin-top:45px}.truck-photo img{width:100%;max-height:620px;object-fit:cover;object-position:center 65%}.truck-photo figcaption{font-size:12px;color:#5e5a52;padding-top:12px}@media(max-width:700px){.truck-photo img{max-height:none;object-fit:contain}}

/* Service discovery and FAQ navigation */
.all-services{margin-top:32px}.service-directory{display:flex;flex-wrap:wrap;gap:20px 30px}.faq p a{text-decoration:underline;text-underline-offset:3px}.navlinks{gap:22px}.footergrid>div:nth-child(2){columns:1}.service-directory a{display:inline-block}@media(max-width:700px){.navlinks{display:flex;gap:15px;grid-column:1/-1;justify-content:center;border-top:1px solid var(--line);padding:9px 0;width:100%}nav{flex-wrap:wrap;gap:0 12px;padding-top:14px;padding-bottom:5px}.brand{order:0}.navcall{order:1}.navlinks{order:2;font-size:13px}.service-list h3{overflow-wrap:anywhere}.service-directory{gap:18px}.mobilebar a{font-size:13px}}

.repair-options{border-top:1px solid var(--line);padding:20px 0}.repair-options summary{cursor:pointer;font-size:18px}.repair-options .service-directory{padding-top:25px}

/* Direct mobile contact actions */
.mobilebar{padding-bottom:env(safe-area-inset-bottom);z-index:20}.mobilebar a{min-height:54px;display:flex;align-items:center;justify-content:center}.actions .textlink{min-height:44px;display:inline-flex;align-items:center;padding:8px 0}

/* The fixed mobile contact bar was removed at the owner's request. */
.mobilebar{display:none!important}

/* Lynnwood service-area map */
.service-map{width:min(1240px,90%);margin:48px auto 0}.service-map-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}.service-map-heading h3{font-family:Georgia,serif;font-size:clamp(24px,2.5vw,32px);margin:0 0 12px}.service-map-heading p{max-width:650px}.service-map iframe{width:100%;height:420px;border:0;display:block;background:var(--cream)}@media(max-width:700px){.service-map{margin-top:32px}.service-map-heading{display:block}.service-map-heading .textlink{display:inline-block;margin-bottom:18px}.service-map iframe{height:320px}}

/* Approximate multi-city service region */
.service-map #serviceAreaMap{height:500px;width:100%;border:1px solid var(--line);z-index:0;background:#eef1e9}.map-loading{padding:30px}.map-caption{font-size:12px;margin-top:12px}.service-map-label{font:600 12px Arial,sans-serif;color:#171717;background:#fffefa;border:1px solid #d5b15a;border-radius:3px;padding:2px 5px;box-shadow:0 1px 4px #0002}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fffefa}.leaflet-container{font-family:Arial,sans-serif}@media(max-width:700px){.service-map #serviceAreaMap{height:380px}.service-map-label{font-size:10px}}
#serviceAreaMap{height:auto!important;background:#f1f0e9!important;overflow:hidden}.service-map-svg{display:block;width:100%;height:auto;min-height:380px;max-height:520px}.service-map-svg .map-city circle{fill:#d5b15a;stroke:#171717;stroke-width:1.8}.service-map-svg .map-city rect{fill:#fffefa;stroke:#b69751;stroke-width:.8}.service-map-svg .map-city text,.service-map-svg .legend-label{font:600 12px Arial,sans-serif;fill:#171717}.service-map-svg .water-label{font:600 13px Arial,sans-serif;letter-spacing:3px;fill:#62818a}.service-map-svg .map-note{font:11px Arial,sans-serif;fill:#62645e}@media(max-width:700px){.service-map-svg{min-height:260px}.service-map-svg .map-city text{font-size:11px}.service-map-svg .map-city rect{height:17px}}

#serviceAreaMap{display:none!important}.service-map .service-area-google-map{width:100%;height:500px;border:1px solid var(--line);display:block;background:#f2f0eb}@media(max-width:700px){.service-map .service-area-google-map{height:380px}}
