@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#123b35;--deep:#10352f;--teal:#257d70;--mint:#b5d8c8;--paper:#f7f5ee;--white:#fffef9;--gold:#e5c069;--line:#d6ddd4;--muted:#536b62}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid #a56d0c;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;line-height:1.04;font-weight:600}h1{font-size:clamp(58px,6.7vw,106px);letter-spacing:-1.5px}h2{font-size:clamp(42px,4.4vw,66px);letter-spacing:-.7px}h3{font-size:32px}p+p{margin-top:18px}button{cursor:pointer}.wrap{width:min(1320px,calc(100% - 104px));margin:auto}.skip{position:fixed;left:20px;top:-80px;z-index:1000;background:var(--gold);padding:14px}.skip:focus{top:15px}.topline{background:var(--deep);color:#d9ebe1;font-size:12px;letter-spacing:.08em}.topline .wrap{display:flex;justify-content:space-between;padding:8px 0}.topline a{text-decoration:none}.header{position:sticky;top:0;z-index:50;background:rgba(247,245,238,.97);border-bottom:1px solid var(--line)}.navrow{height:96px;display:flex;align-items:center;gap:35px;justify-content:space-between}.wordmark{text-decoration:none;display:flex;align-items:center;gap:13px;flex-shrink:0}.logo{width:64px;height:64px;object-fit:contain}.brand{display:flex;flex-direction:column;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:30px;font-weight:700;letter-spacing:2px;line-height:.95}.brand small{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;font-weight:600;margin-top:9px}.mainnav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.mainnav>a{text-decoration:none;white-space:nowrap}.mainnav a:hover{color:var(--teal)}.navphone{border:1px solid var(--ink);padding:11px 16px;display:flex;gap:12px;align-items:center}.menu{display:none;border:1px solid var(--line);padding:8px 12px;background:none;font-size:14px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:23px}.eyebrow:before{content:'';width:27px;height:2px;background:currentColor}.eyebrow.gold{color:var(--gold)}.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--white)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:65px 40px 60px 0;align-self:center;position:relative;z-index:2}.hero h1{max-width:670px}.hero h1 em{font-style:normal;color:var(--mint)}.hero-description{margin-top:30px;max-width:470px;font-size:17px;line-height:1.75;color:#d5e3d9}.buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:13px 22px;text-decoration:none;background:var(--gold);color:var(--deep);border:1px solid var(--gold);font-size:13px;font-weight:700;transition:background .15s,transform .15s}.btn:hover{background:#f0ce82;transform:translateY(-2px)}.btn.light{background:transparent;border-color:#708f80;color:var(--white)}.btn.outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}.hero-note{margin-top:24px;color:#adc5b7;font-size:12px;display:flex;align-items:center;gap:10px}.hero-note:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold)}.hero-visual{position:relative;min-height:600px;background:#1e5147}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,26,.4),transparent 50%)}.photo-label{position:absolute;bottom:28px;left:28px;right:25px;z-index:2;color:#fff;font-size:10px;letter-spacing:2px;text-transform:uppercase;display:flex;justify-content:space-between;gap:20px}.hero-visual .coordinate{position:absolute;right:25px;top:30px;color:#f3f6ee;font-size:11px;writing-mode:vertical-rl;letter-spacing:3px;z-index:2}.service-strip{border-bottom:1px solid var(--line);background:#e5eadf}.service-strip .wrap{display:flex;justify-content:space-between;gap:18px;padding:21px 0;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.service-strip span:before{content:'↗';margin-right:15px;color:var(--teal);font-size:15px}.section{padding:96px 0}.section-head{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:44px}.section-head p{max-width:460px;color:var(--muted);font-size:15px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;position:relative;min-height:285px;background:var(--white);transition:background .18s}.service:hover{background:#e9eee2}.service .num{font-size:11px;color:var(--teal);display:block;margin-bottom:35px;letter-spacing:1px}.service h3{font-size:34px;padding-right:25px}.service p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:15px;max-width:320px}.service .arrow{position:absolute;right:25px;top:31px;font-size:26px}.scope-note{display:flex;align-items:start;gap:20px;font-size:12px;border-bottom:1px solid var(--line);padding:22px 0;color:var(--muted)}.scope-note strong{color:var(--ink);white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-frame{background:#d7e4d9;padding:0;position:relative}.image-frame img{width:100%;object-fit:contain}.image-frame figcaption{font-size:10px;padding:10px 14px;color:var(--muted)}figure{margin:0}.intro-copy p{color:var(--muted);margin-top:24px;font-size:15px;max-width:510px}.textlink{display:inline-flex;gap:30px;text-decoration:none;font-weight:700;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-top:25px}.dark-section{background:var(--deep);color:var(--white)}.dark-section .section-head p{color:#bfd0c5}.topic-list{border-top:1px solid #507267}.topic-link{display:grid;grid-template-columns:70px 1fr 1fr 30px;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid #507267;text-decoration:none}.topic-link .num{color:var(--gold);font-size:11px}.topic-link h3{font-size:32px}.topic-link p{font-size:13px;color:#c0d2c6}.topic-link .arrow{font-size:25px}.topic-link:hover h3{color:var(--gold)}.price-panel{background:#e7ebdf;padding:45px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px}.price-panel h2{max-width:500px}.price-panel p{margin-top:24px;color:var(--muted);font-size:14px}.factor-list{margin:0;padding:0;list-style:none;align-self:center}.factor-list li{border-bottom:1px solid #c8d3c4;padding:15px 0;display:flex;justify-content:space-between;font-size:13px}.factor-list li span{font-size:20px;color:var(--teal)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.step{border-top:1px solid var(--line);padding-top:20px}.step .num{font-size:11px;color:var(--teal);margin-bottom:30px;display:block}.step h3{font-size:31px}.step p{font-size:13px;color:var(--muted);margin-top:14px}.faq{max-width:920px;margin:auto}.faq h2{margin-bottom:36px}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:600;font-size:15px;cursor:pointer;list-style:none;padding-right:30px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:23px;font-weight:400;top:-5px}details[open] summary:after{content:'−'}.faq details p{font-size:14px;line-height:1.85;margin-top:14px;color:var(--muted);max-width:760px}.cta-band{padding:70px 0;background:var(--mint)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner h2{font-size:clamp(40px,4vw,62px);max-width:700px}.cta-inner p{font-size:13px;margin-top:15px}.cta-inner .buttons{margin-top:0;flex-shrink:0}.footer{background:var(--deep);color:#c7d7cc;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:45px}.footer .brand{color:var(--white)}.footer p{font-size:12px;max-width:260px;margin-top:25px}.footer h3{font-family:'DM Sans',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--mint);margin-bottom:23px}.footer a{font-size:12px;text-decoration:none;display:block;margin:10px 0}.footer a:hover{color:#fff}.footer a.wordmark{display:flex;margin:0}.footer .phone{font-family:'Barlow Condensed',Impact,sans-serif;font-size:30px;color:#fff}.footer-bottom{margin-top:55px;border-top:1px solid #355a4c;padding:20px 0 0;display:flex;justify-content:space-between;gap:20px;font-size:10px}.footer-bottom a{margin:0;display:inline;font-size:10px}.mobilebar{display:none}.crumb{font-size:11px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);padding:26px 0}.crumb a{text-decoration:none}.page-intro{padding:40px 0 60px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(52px,6vw,82px);max-width:970px}.page-intro .lede{font-size:18px;max-width:790px;color:var(--muted);line-height:1.75;margin-top:28px}.page-intro .tagline{margin-top:24px;font-size:11px;letter-spacing:1px;color:var(--teal)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:85px;padding:62px 0 90px}.article section{margin-bottom:44px}.article h2{font-size:39px;margin-bottom:20px}.article h3{font-size:29px;margin:24px 0 12px}.article p,.article li{font-size:15px;line-height:1.85;color:#426052}.article ul{padding-left:20px;margin:17px 0}.article li{margin:9px 0}.aside-box{border:1px solid var(--line);background:#e8ecdf;padding:28px;margin-bottom:24px}.aside-box h3{font-size:31px;margin-bottom:18px}.aside-box p{font-size:12px;line-height:1.8;color:var(--muted)}.aside-box .btn{width:100%;margin-top:20px;padding:12px}.aside-box a:not(.btn){font-size:12px}.aside-links{list-style:none;margin:0;padding:0}.aside-links li{padding:10px 0;border-bottom:1px solid #cbd4c5}.aside-links a{text-decoration:none}.article .notice{padding:23px;background:#e9eee3;border-left:3px solid var(--teal);font-size:13px}.related{background:#ecefe5;padding:65px 0}.related h2{font-size:43px;margin-bottom:30px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related-link{border:1px solid #ccd5c8;text-decoration:none;padding:24px;background:var(--white);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:600}.related-link:hover{border-color:var(--teal)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-info h2{font-size:45px}.contact-info .phone{font-size:39px;font-family:'Barlow Condensed',Impact,sans-serif;display:block;margin:25px 0 8px;text-decoration:none}.contact-info p{font-size:14px;color:var(--muted);margin-top:20px}.contact-info a.email{font-size:14px;overflow-wrap:anywhere}.contact-form{padding:34px;background:var(--white);border:1px solid var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input,select,textarea{background:var(--paper);border:1px solid #bdcbbd;border-radius:0;width:100%;padding:12px;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:125px}.form-note{font-size:11px;color:var(--muted);margin-top:16px}.form-status{margin-top:16px;font-size:13px}.source-note{font-size:12px!important;border-top:1px solid var(--line);padding-top:20px}.source-note a{font-size:12px}.cost-table{width:100%;border-collapse:collapse;font-size:14px;margin:22px 0}.cost-table th,.cost-table td{text-align:left;vertical-align:top;padding:15px 12px;border-bottom:1px solid var(--line)}.cost-table th{background:#e5eade;font-size:12px}.table-scroll{overflow-x:auto}.guide-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-card{text-decoration:none;padding:28px;border:1px solid var(--line);background:var(--white)}.guide-card h3{font-size:30px}.guide-card p{font-size:13px;margin-top:12px}.figure-note{font-size:10px;color:var(--muted);margin-top:10px}.section.tight{padding:65px 0}.notfound{min-height:55vh;padding:90px 0}.notfound p{margin-top:25px}.reveal{animation:appear .65s ease-out both}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-grid{min-height:720px}}@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.mainnav{gap:16px}.navrow{gap:20px}.mainnav>a{font-size:12px}.navphone{padding:9px}.brand{font-size:25px}.logo{width:52px;height:52px}.hero-grid{min-height:610px}.hero-copy{padding-right:25px}.hero-description{font-size:15px}.split{gap:45px}.article-layout{gap:45px;grid-template-columns:minmax(0,1fr) 260px}.contact-grid{gap:50px}.footer-grid{gap:28px}}
@media(max-width:900px){.mainnav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 32px;align-items:stretch;gap:0}.mainnav.open{display:flex;flex-direction:column}.mainnav>a{padding:13px;font-size:15px}.menu{display:block}.navrow{height:80px}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:66px}.hero-copy{padding:55px 22px 50px 0}.hero-visual{min-height:550px}.hero-description{font-size:14px}.service-strip .wrap{flex-wrap:wrap;justify-content:center;gap:10px 25px;font-size:10px}.section-head{gap:30px}.services{grid-template-columns:repeat(2,1fr)}.section{padding:70px 0}.split{gap:35px}.section-head{grid-template-columns:1fr 1fr}.price-panel{padding:32px;gap:35px}.topic-link{grid-template-columns:45px 1fr 1fr 20px;gap:20px}.topic-link h3{font-size:29px}.article-layout{grid-template-columns:1fr}.article-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px}.aside-box{margin:0}.cta-inner{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}body{font-size:15px}.topline .wrap{font-size:9px;letter-spacing:.04em;padding:7px 0}.topline .top-phone{display:none}.navrow{height:76px}.logo{width:48px;height:48px}.brand{font-size:24px}.brand small{font-size:8px;letter-spacing:2px;margin-top:7px}.wordmark{gap:9px}.mainnav{top:76px}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:46px 0 40px}.hero h1{font-size:68px;letter-spacing:-1px;max-width:400px}.hero-description{font-size:15px;max-width:420px;margin-top:24px}.hero-grid.wrap{width:100%}.hero-copy{width:calc(100% - 40px);margin:auto}.hero-visual{min-height:340px;margin:0 20px 20px}.photo-label{font-size:9px;left:18px;bottom:19px}.hero-visual .coordinate{right:18px;top:20px;font-size:9px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:20px}.buttons{gap:10px;margin-top:25px}.btn{font-size:12px;gap:20px;padding:12px 18px;min-height:50px}.hero-note{font-size:10px}.service-strip .wrap{justify-content:start;gap:8px 20px;padding:18px 0}.service-strip span:before{margin-right:8px}.section{padding:58px 0}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:24px;font-size:14px}h2{font-size:46px}.services{grid-template-columns:1fr}.service{min-height:230px;padding:25px}.service .num{margin-bottom:28px}.service h3{font-size:35px}.service p{max-width:none}.scope-note{display:block}.scope-note strong{display:block;margin-bottom:8px}.split{grid-template-columns:1fr;gap:32px}.intro-copy h2{font-size:48px}.intro-copy p{font-size:14px}.topic-link{grid-template-columns:30px 1fr 18px;gap:14px;padding:25px 0}.topic-link p{grid-column:2;grid-row:2;font-size:12px;margin-top:-7px}.topic-link .arrow{grid-column:3;grid-row:1}.topic-link h3{font-size:31px}.price-panel{grid-template-columns:1fr;gap:22px;padding:30px 24px}.price-panel h2{font-size:43px}.price-panel p{font-size:13px}.steps{grid-template-columns:1fr;gap:28px}.step .num{margin-bottom:18px}.step h3{font-size:32px}.faq h2{font-size:44px}.faq summary{font-size:14px}.cta-band{padding:46px 0}.cta-inner{gap:25px}.cta-inner h2{font-size:45px}.footer{padding:45px 0 100px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-brand{grid-column:1/-1}.footer h3{font-size:10px;margin-bottom:20px}.footer a{font-size:11px;overflow-wrap:anywhere}.footer .phone{font-size:27px}.footer-contact{grid-column:1/-1}.footer-bottom{margin-top:35px;align-items:start;flex-direction:column;gap:12px}.mobilebar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:var(--deep);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 18px #0002}.mobilebar a{font-size:12px;font-weight:600;padding:16px;text-align:center;text-decoration:none;color:#fff}.mobilebar a:first-child{background:var(--gold);color:var(--deep)}.crumb{font-size:10px;padding:20px 0}.page-intro{padding:24px 0 40px}.page-intro h1{font-size:55px;letter-spacing:-.6px}.page-intro .lede{font-size:16px;margin-top:23px}.page-intro .tagline{font-size:10px}.article-layout{padding:40px 0 55px;gap:20px}.article h2{font-size:35px}.article p,.article li{font-size:14px}.article section{margin-bottom:34px}.article-sidebar{grid-template-columns:1fr}.aside-box{padding:25px}.related{padding:45px 0}.related-grid{grid-template-columns:1fr;gap:12px}.related h2{font-size:38px}.contact-form{padding:23px}.fields{grid-template-columns:1fr;gap:17px}.contact-info .phone{font-size:36px}.guide-cards{grid-template-columns:1fr}.section.tight{padding:45px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.logo{border-radius:50%}.hero-photo{object-fit:contain}.hero-visual{background:#183c34}.hero-visual:after{background:linear-gradient(0deg,rgba(10,32,26,.55),transparent 24%)}

.factor-list li{gap:18px;align-items:baseline;flex-wrap:wrap}.factor-list strong{font-size:16px;color:var(--deep);white-space:nowrap}.factor-list a{text-decoration-thickness:1px;text-underline-offset:4px}

/* Use Tim’s field-installation photo for the hero until a stronger excavator portrait is supplied. */
.hero-photo{object-fit:cover;object-position:50% 65%}.job-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.job-gallery figure{margin:0;background:#e6ebdf}.job-gallery img{display:block;width:100%;height:auto}.job-gallery figcaption{padding:15px 17px;font-size:12px;color:var(--muted)}@media(max-width:640px){.job-gallery{grid-template-columns:1fr}.hero-photo{object-position:50% 65%}}

.hero-visual{overflow:hidden}.hero-photo{transform:none}

.contact-form h2{font-size:42px;margin-bottom:18px}.upload-intro{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:25px}.field small{font-size:11px;color:var(--muted)}.upload-box{padding:23px;border:1px dashed #78978a;background:#eff2e8}.upload-box p{font-size:12px;line-height:1.8;margin-bottom:16px;color:var(--muted)}.upload-box input{background:var(--white);font-size:12px;padding:12px 8px}.file-list{list-style:none;padding:0;margin:12px 0 0}.file-list li{font-size:12px;padding:5px 0;overflow-wrap:anywhere}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.8;font-weight:400}.consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--teal)}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{overflow-wrap:anywhere}.form-status.success{padding:20px;border-left:3px solid var(--teal);background:#e6f0df;color:var(--deep)}.form-status.error{padding:15px;background:#fff0e8;color:#823f22}.btn:disabled{cursor:wait;opacity:.7}.form-status:focus{outline:2px solid var(--teal);outline-offset:4px}@media(max-width:600px){.contact-form{padding:23px}.upload-box{padding:16px}.contact-form button{width:100%;font-size:12px}.mainnav a{font-size:12px}}
/* Community service pages and crawlable service-area directory. */
.local-answer{border-left:3px solid var(--gold);background:#e9eddf;padding:28px;margin-bottom:38px}.local-answer h2{margin-top:0}.local-answer p:last-child{margin-bottom:0}.local-radius{border-top:1px solid var(--line);padding-top:25px}.area-filter{display:block;font-size:13px;font-weight:600;margin:26px 0 10px}.area-filter input{display:block;max-width:520px;margin-top:8px;background:#fff}.community-count{font-size:12px!important;color:var(--muted)}.community-group{margin-top:28px}.community-group h3{font-size:29px;margin-bottom:16px}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-card{display:flex;flex-direction:column;gap:8px;padding:19px;border:1px solid var(--line);background:var(--white);text-decoration:none!important}.community-card strong{font-size:16px}.community-card span{font-size:11px;line-height:1.6;color:var(--muted)}.community-card:hover,.community-card:focus-visible{border-color:var(--deep);background:#e9eddf}.community-card[hidden]{display:none}.local-service-links a{font-weight:600}.article .local-answer h2{font-size:35px}.community-group[hidden]{display:none}@media(max-width:600px){.community-grid{grid-template-columns:1fr}.local-answer{padding:22px}.article .local-answer h2{font-size:31px}.page-intro h1{overflow-wrap:break-word}.community-group h3{font-size:27px}}
