:root{--ink:#131513;--ink2:#1c1f1c;--grn:#2f8a3b;--grnd:#1f6a2b;--org:#f26b1d;--orgd:#c9520d;--yel:#f4c20d;--bone:#f3eee3;--sand:#e6dcc6;--mut:#5d6258;--hh:150px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:#1a1d19;font:400 18px/1.62 Inter,system-ui,sans-serif;overflow-x:hidden;padding-top:var(--hh)}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3,.dsp{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.012em;line-height:1.02;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:20000}.skip:focus{left:8px;top:8px}
/* header: fixed, shake-free (body padding measured from the real header height) */
header.mh{position:fixed;top:0;left:0;right:0;z-index:900;background:#fff;box-shadow:0 2px 0 var(--org),0 10px 28px rgba(0,0,0,.22)}
header.mh .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:166px;transition:min-height .25s}
header.mh .brand{flex:none}header.mh .brand img{height:150px;width:auto;max-width:none;transition:height .25s}
header.mh.sm .nav{min-height:108px}header.mh.sm .brand img{height:96px}
.nav-mid{display:flex;align-items:center;gap:14px}
.nav-links{display:flex;align-items:center}.nav-links a{font:700 15.5px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:12px 11px;min-height:44px;display:inline-flex;align-items:center;color:var(--ink);border-bottom:3px solid transparent}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--grnd);border-bottom-color:var(--org)}
.callbtn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:0;border-radius:6px;font:800 17px Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;cursor:pointer;background:var(--org);color:#fff;box-shadow:0 4px 0 var(--orgd);transition:transform .15s,box-shadow .15s}
.callbtn:hover,.btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--orgd)}
.btn-out{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff}.btn-out:hover{background:#fff;color:var(--ink)}
.btn-grn{background:var(--grn);box-shadow:0 4px 0 var(--grnd)}.btn-ink{background:var(--ink);box-shadow:0 4px 0 #000}
.navtoggle{display:none}.hamburger{display:none;width:52px;height:52px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
@media(max-width:1200px){
 body{font-size:17px}
 header.mh .nav{min-height:116px}header.mh .brand img{height:100px}header.mh.sm .nav{min-height:98px}header.mh.sm .brand img{height:84px}
 .hamburger{display:flex}
 .nav-mid{position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s;border-bottom:3px solid var(--org)}
 .navtoggle:checked~.nav-mid{max-height:540px;padding:8px 20px 20px}
 .nav-links{flex-direction:column;align-items:stretch}.nav-links a{font-size:18px;border-bottom:1px solid #e5e2d8;padding:14px 4px}.nav-mid .callbtn{margin-top:14px}
}
/* hazard + contour details */
.hz{height:12px;background:repeating-linear-gradient(-45deg,var(--yel) 0 16px,var(--ink) 16px 32px)}
.topo{background-color:var(--ink);background-image:var(--topo)}
/* hero */
.hero{position:relative;min-height:92vh;background:var(--ink) center/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden;color:#fff;isolation:isolate}
.hs{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;z-index:-2}.hs.on{opacity:1}
.hs div{position:absolute;inset:-4%;background-size:cover;background-position:center;animation:kb 14s ease-in-out infinite alternate}
.hs:nth-child(even) div{animation-direction:alternate-reverse}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-2.2%,-1.2%)}}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(19,21,19,.35) 0,rgba(19,21,19,0) 30%,rgba(19,21,19,.55) 62%,rgba(19,21,19,.92) 100%)}
.hero>.wrap{width:100%}.hero .in{padding:0 0 110px;max-width:760px}
.hero h1{font-size:clamp(34px,6.6vw,92px);margin:10px 0 16px;text-shadow:0 3px 22px rgba(0,0,0,.5)}
.hero h1 em{font-style:normal;color:var(--yel)}
.hero .sub{font-size:clamp(17px,1.9vw,21px);max-width:620px;margin:0 0 26px;color:#f1eee6}
.eyebrow{font:800 13.5px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--yel)}
.hbtns{display:flex;gap:14px;flex-wrap:wrap}
.hero .in>*{animation:rise .9s both}.hero .in>*:nth-child(2){animation-delay:.12s}.hero .in>*:nth-child(3){animation-delay:.24s}.hero .in>*:nth-child(4){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.ihero{min-height:60vh}.ihero .in{padding:60px 0 90px}.ihero h1{font-size:clamp(34px,5.4vw,72px)}
@media(max-width:700px){.hero{min-height:84vh}.hero .in{padding-bottom:84px}.hero h1{font-size:30px;margin:6px 0 10px}.hero .sub{display:none}.hero .eyebrow{display:none}.ihero .sub{display:block;font-size:16px}.btn-out.hide-m{display:none}}
/* sections + dividers */
.sec{position:relative;padding:76px 0}.s-bone{background:var(--bone)}.s-sand{background:var(--sand)}.s-ink{background:var(--ink);color:#f1eee6}.s-grn{background:var(--grnd);color:#fff}
.dv{display:block;line-height:0;height:70px;margin:0;position:relative;z-index:2}.dv svg{display:block;width:100%;height:70px}.dv.up{margin-top:-69px}
.sec h2{font-size:clamp(32px,4.6vw,58px);margin:8px 0 14px}.sec .lead{font-size:clamp(18px,2vw,21px);max-width:760px;margin:0 0 30px}
.s-ink .eyebrow,.s-grn .eyebrow{color:var(--yel)}.s-bone .eyebrow,.s-sand .eyebrow{color:var(--grnd)}
/* trust bar */
.tb{display:grid;grid-template-columns:repeat(5,1fr);gap:0;text-align:center}.tb div{padding:6px 10px;border-right:1px solid rgba(255,255,255,.14)}.tb div:last-child{border:0}
.tb b{display:block;font:400 clamp(30px,4vw,48px)/1 Anton,sans-serif;color:var(--yel);letter-spacing:.01em}.tb span{font:600 14.5px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#dcd8cc}
@media(max-width:800px){.tb{grid-template-columns:1fr 1fr}.tb div{border:0;padding:14px 8px}.tb div:last-child{grid-column:1/3}}
/* service photo tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{position:relative;display:block;min-height:340px;overflow:hidden;border-radius:4px;color:#fff;text-decoration:none;background:#222;isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;z-index:-2}.tile:hover img{transform:scale(1.07)}
.tile:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(10,12,10,.88))}
.tile .tt{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 20px}.tile h3{font-size:30px}.tile p{margin:6px 0 0;font-size:15.5px;line-height:1.45;color:#ebe7dc}
.tile:after{content:"";position:absolute;left:0;bottom:0;height:5px;width:0;background:var(--org);transition:width .45s}.tile:hover:after{width:100%}
.tile.w2{grid-column:span 2}
@media(max-width:960px){.tiles{grid-template-columns:1fr 1fr}.tile{min-height:280px}}@media(max-width:560px){.tile{min-height:210px}.tile h3{font-size:22px}.tile p{display:none}.tile .tt{padding:12px}}
.minor{margin-top:22px;font-size:16px;color:var(--mut)}
/* progress strip */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:#222}.step img{width:100%;height:100%;object-fit:cover}
.step b{position:absolute;left:0;bottom:0;right:0;padding:50px 18px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));color:#fff;font:400 28px Anton,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.step b i{font:800 13px Inter,sans-serif;color:var(--yel);letter-spacing:.18em;display:block;font-style:normal}
@media(max-width:700px){.steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}.step{flex:0 0 78%;scroll-snap-align:center;aspect-ratio:4/5}}
/* split + dirt */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.split.rev{grid-template-columns:1fr 1.1fr}
.ph{border-radius:4px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.28);position:relative}.ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ph.tall img{aspect-ratio:3/4}
@media(max-width:860px){.split,.split.rev{grid-template-columns:1fr;gap:26px}}
.chk{list-style:none;padding:0;margin:0 0 26px}.chk li{padding:9px 0 9px 36px;position:relative;font-weight:600}.chk li:before{content:"";position:absolute;left:0;top:14px;width:20px;height:20px;background:var(--org);clip-path:polygon(0 55%,18% 38%,40% 62%,82% 10%,100% 28%,40% 100%)}
/* fleet */
.fleet{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fleet img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px}
@media(max-width:700px){.fleet{grid-template-columns:1fr 1fr}}
/* gallery */
.gal{columns:3 300px;column-gap:12px}.gtile{display:block;break-inside:avoid;margin:0 0 12px;position:relative;overflow:hidden;border-radius:4px;cursor:zoom-in;background:#222}.gtile img{width:100%;transition:transform .6s}.gtile:hover img{transform:scale(1.05)}
.gprev{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gprev .gtile{margin:0}.gprev .gtile img{aspect-ratio:1/1;object-fit:cover;height:100%}
@media(max-width:700px){.gprev{grid-template-columns:1fr 1fr}}
.fbrow{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
/* reviews */
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rc{background:#fff;border-radius:4px;padding:26px 24px;box-shadow:0 10px 30px rgba(0,0,0,.1);border-top:5px solid var(--grn);display:flex;flex-direction:column}
.rc q{display:block;font-size:17.5px;line-height:1.55;quotes:none;flex:1}.rc cite{display:block;margin-top:14px;font:700 15px Inter,sans-serif;font-style:normal;color:var(--grnd)}
.stars{color:#e0a800;letter-spacing:3px;font-size:22px}
.score{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 30px}.score div{background:var(--ink);color:#fff;padding:16px 24px;border-radius:4px;border-left:6px solid var(--org)}.score b{display:block;font:400 40px/1 Anton,sans-serif;color:var(--yel)}.score span{font-size:14.5px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.rv{grid-template-columns:1fr}}
/* forms */
.card{background:#fff;border-radius:6px;padding:28px;box-shadow:0 14px 40px rgba(0,0,0,.16);color:#1a1d19}.card h3{font-size:30px;margin-bottom:6px}
.fld{margin:12px 0}.fld label{display:block;font:700 14px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.fld input,.fld textarea,.fld select{width:100%;min-height:50px;border:2px solid #cfc8b6;border-radius:6px;padding:12px 14px;font:500 17px Inter,sans-serif;background:#fff}.fld textarea{min-height:110px}
.fld input:focus,.fld textarea:focus{outline:3px solid var(--yel);border-color:var(--ink)}
.pv{margin:10px 0 0;font-size:14.5px;color:var(--mut);font-weight:600}.ok{display:none;margin-top:12px;padding:12px 14px;background:#e4f2e3;border-left:5px solid var(--grn);font-weight:600}
/* cta band */
.cta{text-align:center}.cta h2{font-size:clamp(34px,5.4vw,70px)}.cta .hbtns{justify-content:center}
.map{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}.map span{background:rgba(255,255,255,.1);padding:8px 16px;border-radius:4px;font-weight:700}
/* footer */
footer.sf{background:var(--ink);color:#d9d5c9;padding:56px 0 100px}
.sfx{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center}.sfx img{height:130px;width:auto;background:#fff;padding:6px;border-radius:4px}
.sfx p{margin:0 0 6px}.sfx .big{font:400 36px Anton,sans-serif;color:#fff;text-decoration:none;letter-spacing:.03em}
.fl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:30px 0 20px}.fl a{text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14.5px;padding:10px 0;min-height:44px;display:inline-flex;align-items:center}.fl a:hover{color:var(--yel)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;font-size:14.5px;color:#a9a597}.foot-bot a{color:var(--yel);padding:12px 4px;display:inline-block}
@media(max-width:800px){.sfx{grid-template-columns:1fr;text-align:left}}
/* call-or-text sheet + quote popup + sticky bar */
#ctc,#qp{position:fixed;inset:0;z-index:9500;background:rgba(10,12,10,.72);display:none;align-items:center;justify-content:center;padding:16px}#ctc.on,#qp.on{display:flex}
#ctc .sheet,#qp .sheet{background:#fff;border-radius:8px;padding:26px;width:100%;max-width:440px;max-height:90vh;overflow:auto;border-top:8px solid var(--org);position:relative}
#ctc .t,#qp .t{font:400 32px Anton,sans-serif;text-transform:uppercase;margin:0 0 4px}#ctc .n{margin:0 0 16px;font:800 24px Inter,sans-serif;color:var(--grnd)}
#ctc a.b{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:6px;font:800 20px Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;margin:8px 0}
#ctc a.call{background:var(--org);color:#fff;box-shadow:0 4px 0 var(--orgd)}#ctc a.txt{background:#fff;color:var(--ink);border:2px solid var(--ink)}
#ctc button,#qp button.x{background:none;border:0;min-height:48px;width:100%;font:700 16px Inter,sans-serif;color:var(--mut);cursor:pointer;text-decoration:underline}
#qp button.x{position:absolute;top:6px;right:6px;width:48px;font-size:30px;text-decoration:none;line-height:1}
nav.sbar{position:fixed;left:0;right:0;bottom:0;z-index:850;background:var(--ink);padding:8px 10px;transform:translateY(110%);transition:transform .3s;display:none;border-top:3px solid var(--org)}nav.sbar.show{transform:none}
nav.sbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;background:var(--org);color:#fff;border-radius:6px;font:800 18px Inter,sans-serif;text-decoration:none;text-transform:uppercase}
@media(max-width:960px){nav.sbar{display:block}}
/* reveal */
.rvl{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.rvl.in{opacity:1;transform:none}
/* lightbox */
.lbx{position:fixed;inset:0;z-index:10000;background:rgba(8,10,8,.97);display:none;align-items:center;justify-content:center}.lbx.on{display:flex}
.lbx-i{max-width:94vw;max-height:84vh;object-fit:contain;border-radius:4px;user-select:none}
.lbx button{position:absolute;background:rgba(255,255,255,.16);color:#fff;border:0;cursor:pointer;font-size:34px;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.lbx button:hover,.lbx button:focus{background:var(--org)}
.lbx-x{top:14px;right:14px}.lbx-p{left:12px;top:50%;transform:translateY(-50%)}.lbx-n{right:12px;top:50%;transform:translateY(-50%)}.lbx-c{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#ddd;font:600 15px Inter,sans-serif}
.prose h2{font-size:clamp(28px,3.4vw,42px);margin:34px 0 10px}.prose p{max-width:780px}
.dirtgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.dirtgrid{grid-template-columns:1fr}}

@media(max-width:700px){.sec{padding:44px 0}.dv,.dv svg{height:46px}.dv.up{margin-top:-45px}.rv{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px}.rc{flex:0 0 86%;scroll-snap-align:center}
.split,.split.rev{gap:18px}.ph img{aspect-ratio:16/10}.ph.tall img{aspect-ratio:16/10}.gal{columns:2 150px;column-gap:8px}.gtile{margin-bottom:8px}.sec h2{font-size:30px}.sec .lead{font-size:17px;margin-bottom:18px}.fleet{gap:8px}.hero .in .sub{display:none}.ihero .in .sub{display:block}}

@media(max-width:700px){.sec{padding:34px 0}.dv,.dv svg{height:36px}.dv.up{margin-top:-35px}.hide-mm{display:none}.gprev .gtile:nth-child(n+5){display:none}
.tb{grid-template-columns:repeat(3,1fr)}.tb div:last-child{grid-column:auto}.tb div{padding:8px 4px}.tb b{font-size:26px}.tb span{font-size:11.5px;letter-spacing:.04em}
.score{gap:10px;margin-bottom:16px}.score div{padding:10px 14px;flex:1}.score b{font-size:30px}.score span{font-size:12px}.rc{padding:18px}.rc q{font-size:16px}
.tile{min-height:170px}.footer.sf{padding-bottom:80px}footer.sf{padding:30px 0 80px}.sfx{gap:14px}.sfx img{height:90px}.fl{margin:14px 0 8px}.sec .lead{margin-bottom:14px}.cta h2{font-size:34px}.steps .step{flex-basis:70%;aspect-ratio:1/1}}

@media(max-width:700px){.tile.w2{grid-column:auto}.tile{min-height:150px}.hero{min-height:78vh}.split .ph{aspect-ratio:2/1}.split .ph img{aspect-ratio:2/1;height:100%}.dirtsplit>.ph{display:none}.minor{display:none}.sec .hbtns .btn-ink{display:none}.split .hbtns{margin-top:6px}.steps .step{aspect-ratio:4/5}}

@media(max-width:700px){footer.sf{padding:22px 0 76px}.sfx img{display:none}.sfx .big{font-size:30px}.sfx p{margin:0 0 4px;font-size:15px}.fl{gap:0 18px}.foot-bot{padding-top:10px}.hide-lm{display:none}}

@media(max-width:700px){.sec .lead{display:none}.dirtsplit .lead{display:block}.sec h2{margin-bottom:10px}.cta .map{display:none}.cta .lead{display:block}.steps .step{aspect-ratio:1/1}.rc q{font-size:15.5px}}
/* live build: TAPPS text wordmark, form honeypot/error, FAQ, paid-client credit */
.wm{font:400 clamp(46px,7vw,66px)/1 Anton,sans-serif;color:#fff;letter-spacing:.05em;border-bottom:6px solid #f26b1d;padding:2px 2px 6px;display:inline-block;text-decoration:none}
header.mh .brand.wm-wrap{display:flex;align-items:center}.wmf{font-size:clamp(48px,8vw,72px)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.er{display:none;margin-top:12px;padding:12px 14px;background:#fbe4de;border-left:5px solid #c4381d;font-weight:600;color:#5a1a0e}
.faq details{background:#fff;border:1px solid rgba(19,21,19,.14);border-left:6px solid var(--grn);margin:0 0 12px;padding:0}.faq summary{cursor:pointer;font:600 18px/1.35 Inter,sans-serif;padding:16px 18px;min-height:48px}.faq details p{margin:0;padding:0 18px 18px;font-size:17px;line-height:1.6}
footer.sf .foot-bot a.anchord-credit{font-size:14px;color:rgba(243,238,227,.78);text-decoration:none;padding:12px 4px;display:inline-block}
footer.sf .foot-bot span:last-child{font-size:14px;color:rgba(243,238,227,.78)}
header.mh .brand.wm-wrap img.wm{height:84px;width:auto;max-width:none}header.mh.sm .brand.wm-wrap img.wm{height:72px}
@media(max-width:700px){header.mh .brand.wm-wrap img.wm{height:60px}header.mh.sm .brand.wm-wrap img.wm{height:58px}}
.sfx img.wm{height:96px;width:auto;display:block}@media(max-width:700px){.sfx img.wm{display:none}}
header.mh .nav-links a,header.mh .callbtn{white-space:nowrap}header.mh .brand.wm-wrap img.wm{border-radius:2px}
