@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');:root{--ink:#181d1d;--gold:#e7ad32;--cream:#f5f3ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,90%);margin:auto}header{background:#171b1b;color:white;position:sticky;top:0;z-index:20}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;font-weight:900;letter-spacing:.7px;white-space:nowrap}.brand span{color:var(--gold)}nav{display:flex;gap:24px;font-size:13px;font-weight:700}nav a:hover{color:var(--gold)}.button{display:inline-block;background:var(--gold);padding:18px 24px;font-size:13px;font-weight:800;color:#161616;letter-spacing:.4px}.button:hover{background:#f6c253}.button.small{padding:13px 15px;white-space:nowrap}.hero{position:relative;background:#252525 url('assets/photo6.jpg') center 48%/cover no-repeat;color:white;min-height:640px;display:flex;align-items:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,15,.91),rgba(10,15,15,.55) 57%,rgba(10,15,15,.13))}.hero-inner{position:relative;padding:90px 0}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--gold)}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;margin:0;line-height:.98}h1{font-size:clamp(68px,10vw,126px);font-weight:900;letter-spacing:1px}h1 em{color:var(--gold);font-style:normal}h2{font-size:clamp(46px,6vw,74px);font-weight:900}h2 span{color:#bf8920}.hero p{font-size:18px;line-height:1.65;max-width:600px;margin:24px 0 30px}.actions{display:flex;gap:15px;flex-wrap:wrap}.outline{border:1px solid #eee;padding:17px 25px;font-size:13px;font-weight:800}.stripe{background:var(--gold)}.stripes{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:900;letter-spacing:1px}.section{padding-top:95px;padding-bottom:95px}.section .kicker{margin:0 0 16px}.intro{font-size:17px;color:#5b6260;line-height:1.7;max-width:720px;margin:20px 0 36px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--cream)}.card img{width:100%;height:245px;object-fit:cover;display:block}.card>div{padding:27px}.num{font-size:11px;font-weight:800;color:#9a6a0c;letter-spacing:1.3px}.card h3{font-size:38px;margin:13px 0}.card p,.areas p,.about p{line-height:1.75;color:#5a605e;font-size:15px}.card a{font-weight:800;font-size:13px;border-bottom:2px solid var(--gold);padding-bottom:5px}.extras{margin-top:35px;line-height:1.8}.dark{background:#171c1c;color:white}.dark h2 span{color:var(--gold)}.dark .intro{color:#bdc5c2}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:270px;object-fit:cover}.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.areas>div{border-top:4px solid var(--gold);padding:24px;background:#f5f3ed}.areas h3{font-size:29px}.about{background:#eae8df}.about-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:70px}.about p{max-width:650px}.logo-panel{background:white;padding:20px}.logo-panel img{width:100%;display:block}.contact{text-align:center;background:#232a29;color:white;padding:95px 0}.contact h2{font-size:clamp(56px,8vw,95px)}.contact p:not(.kicker){color:#d2d6d3;line-height:1.6;margin:24px auto;max-width:500px}footer{background:#111414;color:#aeb8b4}.foot{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:35px 0;font-size:12px}.foot strong{color:white;font-family:'Barlow Condensed',sans-serif;font-size:24px}@media(max-width:850px){nav{display:none}.cards,.areas{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr}.stripes{flex-wrap:wrap}.stripes span{width:45%}.foot{flex-direction:column;align-items:flex-start}.hero{min-height:590px}}@media(max-width:520px){.brand{font-size:19px}.button.small{font-size:10px;padding:12px 9px}.hero{min-height:590px}.hero-inner{padding:65px 0}h1{font-size:67px}.hero p{font-size:16px}.gallery img{height:190px}.section{padding-top:65px;padding-bottom:65px}.stripes{font-size:16px}}

/* Expanded service pages */
.subhero{position:relative;min-height:410px;display:flex;align-items:center;color:white;background:#171b1b center/cover no-repeat}.subhero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,17,17,.94),rgba(12,17,17,.64))}.subhero .wrap{position:relative;padding:75px 0}.subhero h1{font-size:clamp(50px,8vw,92px);max-width:920px}.subhero p{font-size:18px;line-height:1.65;max-width:720px}.content-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:65px;align-items:start}.prose p,.prose li{line-height:1.85;color:#48504d;font-size:16px}.prose h2{font-size:clamp(36px,5vw,56px);margin:30px 0 20px}.prose h3{font-size:32px;margin:30px 0 12px}.prose ul{padding-left:22px}.sidephoto{width:100%;display:block;object-fit:cover;max-height:460px}.quicklinks{background:#f5f3ed;padding:28px;margin-top:20px}.quicklinks h3{font-size:28px;margin-bottom:18px}.quicklinks a{display:block;padding:12px 0;border-bottom:1px solid #ddd;font-weight:700;font-size:14px}.quicklinks a:hover{color:#a66f00}.cta-band{background:#e7ad32;padding:40px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h2{font-size:clamp(34px,5vw,56px)}.cta-band .button{background:#171b1b;color:white}.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-tiles a{display:block;background:#f5f3ed}.service-tiles img{width:100%;height:210px;object-fit:cover}.service-tiles strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:30px;padding:18px}.location-tags{display:flex;flex-wrap:wrap;gap:12px}.location-tags span{background:#f5f3ed;border-left:4px solid #e7ad32;padding:14px 18px;font-weight:700}.site-nav{flex-wrap:wrap;gap:14px;justify-content:center}.site-nav a{font-size:12px}.foot-links{display:flex;flex-wrap:wrap;gap:15px;margin:0 0 15px}.foot-links a:hover{color:var(--gold)}.mobile-links{display:none}.faq details{padding:18px 0;border-bottom:1px solid #d8d8d8}.faq summary{cursor:pointer;font-weight:700}.faq p{line-height:1.7;color:#48504d}.breadcrumbs{font-size:13px;margin-bottom:25px;color:#e7ad32}.breadcrumbs a{text-decoration:underline}.gallery figcaption{font-size:12px;color:#c7cfcb;padding:9px 0}.gallery figure{margin:0}.gallery figure img{height:240px}.note{font-size:13px;color:#69716e;line-height:1.7}.homepage-more{margin-top:30px}.homepage-more a{display:inline-block;border-bottom:2px solid var(--gold);font-weight:800;margin-right:25px;margin-bottom:15px;font-size:13px}
@media(max-width:1100px){.site-nav{gap:9px}.site-nav a{font-size:11px}.nav{gap:12px}.brand{font-size:21px}}@media(max-width:850px){.site-nav{display:none}.mobile-links{display:flex;flex-wrap:wrap;gap:13px;padding:15px 5%;background:#262d2c;color:white;font-size:12px}.mobile-links a{padding:6px 0}.content-grid{grid-template-columns:1fr}.service-tiles{grid-template-columns:1fr}.cta-band .wrap{flex-direction:column;align-items:flex-start}.gallery figure img{height:180px}}

/* Our Roots */
.roots-intro{max-width:850px;margin:0 auto 55px;text-align:center}.roots-intro p{line-height:1.75}.roots-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:55px 0 80px}.roots-story.roots-reverse .roots-copy{order:2}.roots-story.roots-reverse figure{order:1}.roots-story h2{font-size:clamp(30px,4vw,52px);line-height:1.06}.roots-story p{line-height:1.75}.roots-story figure{margin:0}.roots-story img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:4px}.roots-story figcaption{font-size:13px;color:#626767;padding-top:12px}.site-nav{gap:clamp(7px,1.1vw,18px)}.site-nav a{font-size:clamp(10px,.85vw,13px)}@media(max-width:760px){.roots-story{grid-template-columns:1fr;gap:18px;margin:40px 0 55px}.roots-story.roots-reverse .roots-copy,.roots-story.roots-reverse figure{order:initial}}

/* Contact and free estimate */
.contact-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:start}.contact-lead{line-height:1.85;color:#525b57;font-size:16px;max-width:640px}.contact-methods{margin:35px 0}.contact-method{border-top:1px solid #d8d9d3;padding:25px 0}.contact-method h3{font-size:27px;margin:0 0 12px}.contact-method>a{font-weight:700;overflow-wrap:anywhere}.contact-method>a:hover{color:#9a6a0c}.contact-buttons,.social-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.dark-outline{border-color:#171b1b;color:#171b1b}.social-buttons a{border:1px solid #aab0ac;padding:13px 17px;font-size:12px;font-weight:800}.social-buttons a:hover{border-color:var(--gold);background:#fff7e4}.estimate-panel{background:var(--cream);border-top:6px solid var(--gold);padding:35px}.estimate-panel h2{font-size:clamp(38px,4vw,54px)}.estimate-panel>p:not(.kicker){line-height:1.7;color:#525b57}.estimate-panel form{display:grid;gap:17px;margin-top:28px}.estimate-panel label{display:grid;gap:8px;font-size:12px;font-weight:800;letter-spacing:.4px}.estimate-panel label span{color:#8e5500}.estimate-panel input,.estimate-panel select,.estimate-panel textarea{width:100%;border:1px solid #bdc3bd;border-radius:0;padding:14px 12px;background:white;font:500 15px Inter,Arial,sans-serif;color:#171b1b}.estimate-panel input:focus,.estimate-panel select:focus,.estimate-panel textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit-estimate{border:0;cursor:pointer;width:100%;margin-top:3px}.form-note{font-size:12px;color:#626c66;line-height:1.6;margin:0}.hidden-field{position:absolute;left:-9999px;height:1px;overflow:hidden}@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:30px}}@media(max-width:520px){.estimate-panel{padding:23px 17px}.field-pair{grid-template-columns:1fr}}

/* Black-and-gold interactive service map */
.map-shell{background:#171b1b;color:#fff;border:1px solid #303735;margin-top:36px}.map-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 24px}.map-topline strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;letter-spacing:1px}.map-topline span{display:block;color:#c5cbc8;font-size:13px;margin-top:5px}.map-reset{border:1px solid #e7ad32;background:transparent;color:#e7ad32;padding:12px 15px;font-weight:700;cursor:pointer;white-space:nowrap}.service-map{height:480px;background:#202626;z-index:1}.map-placeholder{display:flex;justify-content:center;align-items:center;min-height:300px;padding:35px;text-align:center;color:#e7ad32}.map-caption{padding:13px 24px;color:#c7cfca;font-size:12px;line-height:1.6;border-bottom:1px solid #3a4240}.map-city-panel{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:25px}.map-city-panel h3{font-size:38px;margin:7px 0 10px}.map-city-panel p{font-size:14px;line-height:1.7;color:#d3d9d6;max-width:660px;margin:0}.map-panel-kicker{color:#e7ad32;font-size:11px;font-weight:800;letter-spacing:2px}.map-city-panel .button{flex-shrink:0}.county-list{margin-top:80px}.county-list>p{color:#5b6260;line-height:1.7}.county-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.county-card{background:#f5f3ed;border-top:4px solid #e7ad32;padding:24px}.county-card h3{font-size:30px;margin-bottom:20px}.city-links{display:flex;flex-wrap:wrap;gap:9px}.city-links button{border:1px solid #d6d2c8;background:#fff;padding:10px 12px;color:#222;font-size:13px;font-weight:700;cursor:pointer}.city-links button:hover,.city-links button.selected{background:#171b1b;color:#e7ad32;border-color:#e7ad32}.city-links button:focus-visible,.map-reset:focus-visible{outline:3px solid #e7ad32;outline-offset:3px}.leaflet-container{font-family:Inter,Arial,sans-serif}.leaflet-tooltip{font-weight:700;color:#171b1b}.leaflet-control-attribution{font-size:10px!important}
@media(max-width:850px){.county-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-city-panel{flex-direction:column;align-items:flex-start}.service-map{height:420px}}@media(max-width:520px){.county-grid{grid-template-columns:1fr}.map-topline{flex-direction:column;align-items:flex-start}.service-map{height:350px}.map-city-panel h3{font-size:31px}.map-city-panel .button{white-space:normal}.county-list{margin-top:55px}}

/* Charcoal map theme: style free OpenStreetMap tiles without obscuring markers. */
#service-map .leaflet-tile-pane { filter: invert(0.91) hue-rotate(180deg) brightness(0.78) contrast(0.88) saturate(0.6); }
