:root{--yellow:#ffc800;--black:#101112;--charcoal:#1b1d1e;--gray:#f2f3f4;--white:#fff;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#171717;background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
img{display:block;max-width:100%}
.wrap{width:min(var(--max),calc(100% - 2.5rem));margin-inline:auto}
.utility{background:#111;color:#fff;font-size:.9rem}
.utility-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.utility p{margin:0;color:#d2d2d2;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}
.utility-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.utility a,.contact-links a{color:inherit;text-decoration:none}
.utility a:hover,.utility a:focus-visible,.contact-links a:not(.facebook):hover,.contact-links a:not(.facebook):focus-visible{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:.25em}
.utility span{color:var(--yellow);margin-right:.35rem}
.brandbar{height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brandbar img{width:330px;height:auto}
.brandbar p{font-family:Georgia,serif;font-size:1.08rem}
.hero{position:relative;min-height:430px;isolation:isolate;overflow:hidden;background:#101112}
.hero-photo{position:absolute;z-index:-3;inset:0 0 0 35%;background:url('assets/plant3.jpg') center right/cover no-repeat;transform:scale(1.02)}
.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#050606 0%,rgba(5,6,6,.98) 30%,rgba(5,6,6,.72) 53%,rgba(5,6,6,.08) 78%)}
.hero-content{padding:58px 0 70px;color:#fff}
.hero h1,.section-title h2,.about h2,.projects-heading h2,.callout h2{margin:0;text-transform:uppercase;font-family:Impact,'Arial Narrow Bold',sans-serif;letter-spacing:.01em;line-height:.94}
.hero h1{font-size:clamp(3rem,5.6vw,5.4rem);max-width:760px}
.hero h1 span,.about h2 span{color:var(--yellow)}
.hero-content>p{font-size:clamp(1.05rem,1.6vw,1.35rem);margin:1.3rem 0 0;max-width:610px}
.trust{background:#181a1b;color:#fff;border-top:1px solid #333;border-bottom:1px solid #333}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:90px;align-items:center}
.trust-grid>div{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;text-transform:uppercase;border-right:1px solid #555;text-align:center}
.trust-grid>div:last-child{border:0}
.trust-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--yellow);font-size:1.65rem;font-weight:900}
.section{padding-block:42px}
.section-title{text-align:center;margin-bottom:1.5rem}
.section-title h2,.projects-heading h2{font-size:2.35rem}
.section-title h2:before,.section-title h2:after{content:'';display:inline-block;width:110px;height:3px;background:var(--yellow);vertical-align:middle;margin:0 1.2rem}
.section-title p,.projects-heading p{margin:.5rem 0 0;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;color:#555}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.service-grid article{min-height:158px;background:linear-gradient(#f7f7f7,#ececec);padding:1.5rem 1rem;border:1px solid #e4e4e4;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.service-grid article>span{font-size:2.8rem;font-weight:900;line-height:1;margin-bottom:.8rem}
.service-grid h3{margin:0;font-size:1rem;line-height:1.25}
.about{position:relative;min-height:330px;overflow:hidden;isolation:isolate;color:#fff}
.about-photo{position:absolute;z-index:-3;inset:0;background:url('assets/1truck.jpg') center/cover no-repeat}
.about-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(8,9,9,.98) 0%,rgba(8,9,9,.86) 42%,rgba(8,9,9,.08) 80%)}
.about-content{padding-block:45px}
.eyebrow{margin:0 0 .6rem;color:var(--yellow);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.83rem}
.about h2{font-size:clamp(2.6rem,4vw,4.25rem)}
.about-content>p:not(.eyebrow){max-width:555px;margin:.85rem 0 0;font-size:1rem}
.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project{position:relative;min-height:210px;overflow:hidden;background:#242526}
.project:before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease}
.project:hover:before{transform:scale(1.025)}
.project.driveway:before{background-image:url('assets/residential-driveway.jpg');background-position:72% 62%}
.project.roadway:before{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.25)),url('assets/roads.jpg');background-position:center}
.project.parking:before{background-image:linear-gradient(135deg,rgba(0,0,0,.15),rgba(0,0,0,.55)),url('assets/parking.jpg');background-position:75% center}
.project div{position:absolute;inset:auto 0 0;padding:2.6rem 1rem .9rem;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff;text-transform:uppercase;font-weight:800;font-size:.86rem}
.project span:before{content:'';display:inline-block;width:22px;height:3px;background:var(--yellow);vertical-align:middle;margin-right:.6rem}
.callout{background:var(--yellow);color:#090909}
.callout-inner{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.callout h2{font-size:clamp(2rem,3.6vw,3.4rem)}
.callout p{margin:.2rem 0 0;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700}
.callout a{color:#090909;text-decoration:none;font-family:Impact,'Arial Narrow Bold',sans-serif;font-size:clamp(2rem,3.7vw,3.5rem);white-space:nowrap}
.callout a:hover,.callout a:focus-visible{text-decoration:underline;text-underline-offset:.14em}
footer{background:#111314;color:#fff;padding:32px 0 18px}
.footer-grid{display:grid;grid-template-columns:1fr 1.65fr 1fr;gap:2rem;align-items:center}
.footer-brand img{width:265px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#aaa}
address{font-style:normal;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
address div{padding-left:1rem;border-left:1px solid #4a4a4a}
address strong{display:block;color:var(--yellow);text-transform:uppercase;font-size:.72rem;margin-bottom:.35rem}
address span{font-size:.72rem;color:#ddd}
.contact-links{font-size:.82rem}
.contact-links p{margin:.3rem 0}
.facebook{display:inline-flex;align-items:center;gap:.65rem;background:#1877f2;color:#fff!important;padding:.7rem 1rem;margin-top:.7rem;text-transform:uppercase;font-weight:800;font-size:.72rem;letter-spacing:.04em;transition:background .2s,transform .2s}
.facebook span{font-family:Arial,sans-serif;font-size:1.7rem;line-height:.7}
.facebook:hover,.facebook:focus-visible{background:#0f61cf;transform:translateY(-2px)}
.copyright{border-top:1px solid #292b2c;margin-top:25px;padding-top:15px;color:#999;font-size:.7rem}
.copyright p{margin:0}
a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.footer-brand img{width:300px}.hero-photo{inset:0}.hero-shade{background:linear-gradient(90deg,rgba(5,6,6,.98),rgba(5,6,6,.72) 65%,rgba(5,6,6,.22))}.section-title h2:before,.section-title h2:after{width:55px}.project-grid{grid-template-columns:1fr}.project{min-height:260px}.callout-inner{padding-block:1.4rem;align-items:flex-start;flex-direction:column;gap:.5rem}}
@media(max-width:620px){.wrap{width:min(100% - 1.4rem,var(--max))}.utility-inner{align-items:flex-start;padding-block:.55rem;flex-direction:column;gap:.35rem}.utility-links{gap:.35rem 1rem}.utility p{display:none}.brandbar{height:84px}.brandbar img{width:240px}.brandbar p{font-size:.85rem;text-align:right}.hero{min-height:420px}.hero-content{padding-top:45px}.hero h1{font-size:clamp(2.55rem,13vw,4rem)}.trust-grid{grid-template-columns:1fr}.trust-grid>div{justify-content:flex-start;border-right:0;border-bottom:1px solid #444}.trust-grid>div:last-child{border-bottom:0}.service-grid{grid-template-columns:1fr}.service-grid article:last-child{grid-column:auto}.section-title h2:before,.section-title h2:after{display:none}.about-shade{background:rgba(8,9,9,.82)}.projects-heading{display:block}.callout a{font-size:2.45rem}.footer-grid{gap:1.3rem}address{grid-template-columns:1fr}.facebook{font-size:.8rem}.contact-links{font-size:1rem}}
