:root{--ink:#191c1a;--paper:#f4f3ee;--muted:#626761;--line:#d9dcd5;--silver:#c5cbc2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #748772}p{line-height:1.65}header{height:96px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:45px;height:45px;stroke:currentColor;stroke-width:2.2;fill:none}.brand>span{font-size:22px;font-weight:900;letter-spacing:1px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:5.2px;margin-top:9px}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border-left:1px solid var(--line);padding-left:30px}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.hero{position:relative;background:#363b35;min-height:760px;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/hero.webp');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,21,18,.92) 0%,rgba(15,21,18,.65) 36%,rgba(15,21,18,.04) 80%),linear-gradient(0deg,rgba(15,21,18,.6),transparent 30%)}.hero-content{position:relative;padding:68px 5% 108px;max-width:850px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;line-height:1.5;margin:0 0 32px;color:#d4d8d0;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;background:#d4d8d0;border-radius:50%}h1{font-size:clamp(64px,7.7vw,112px);line-height:.99;letter-spacing:-6px;margin:0 0 27px;font-weight:800}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}h1 em{color:#d9ded5}.hero-description{font-size:17px;line-height:1.6;color:#e2e4de;max-width:450px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:18px 24px;font-size:12px;font-weight:700;border:0;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#dce1d6}.button span{font-size:20px;font-weight:400}.text-link{font-size:12px;border-bottom:1px solid #929b8e;padding-bottom:7px}.text-link span{margin-left:14px}.hero-bottom{position:absolute;bottom:27px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#d4d8d0}.image-note{font-size:9px;letter-spacing:.3px}.service-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#dce0d7;padding:28px 5%;font-size:11px;letter-spacing:1.6px;font-weight:700}.service-strip i{font-size:20px;font-style:normal;font-weight:400}.section{padding:100px 5%}.dark{color:var(--muted)}h2{font-size:clamp(36px,4.7vw,67px);line-height:1.08;letter-spacing:-2.5px;margin:0 0 26px;font-weight:700}h2 em{color:#6b7467}.intro{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-bottom:1px solid var(--line)}.intro>div{display:grid;grid-template-columns:1.12fr 1fr;column-gap:50px}.intro h2{grid-row:span 2;font-size:clamp(36px,4vw,56px);margin:0}.intro p:not(.eyebrow){font-size:14px;margin:0 0 20px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:370px;font-size:14px;color:var(--muted);margin-bottom:5px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.filters button{background:transparent;border:1px solid #c9cdc4;padding:12px 18px;border-radius:0;font-size:11px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{padding:28px;background:var(--paper);display:flex;flex-direction:column;min-height:405px}.service-card[hidden]{display:none}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;font-size:10px;color:#747a70}.service-symbol{font-size:30px;font-weight:400;color:var(--ink)}h3{font-size:24px;line-height:1.2;letter-spacing:-.7px;margin:0 0 15px}.service-card p{font-size:12px;color:var(--muted);margin:0 0 16px}.service-card ul{padding:0;list-style:none;font-size:11px;line-height:1.6;color:#4d544a;margin:0 0 28px}.service-card li{padding:6px 0;border-bottom:1px solid #e0e3da}.service-card a{margin-top:auto;font-size:11px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.service-card a span{font-size:22px}.service-card a:hover{text-decoration:underline;text-underline-offset:4px}.project-card{background:var(--ink);color:white}.project-card .eyebrow{font-size:8px;margin-top:6px}.project-card h3{font-size:44px;line-height:1.05}.project-card h3 em{color:#c9d1c1}.project-card p{color:#c0c6ba}.scope-note{max-width:930px;font-size:11px;color:var(--muted);margin:24px 0 0}.material-feature{padding:85px 8%;background:#242a24;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:15%;position:relative}.material-feature:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 45px,rgba(255,255,255,.025) 46px,transparent 47px);pointer-events:none}.material-text,.material-types{position:relative}.material-text h2 em{color:#c3ccb9}.material-text>p:not(.eyebrow){font-size:14px;color:#c4cbbd;max-width:410px;margin:25px 0 30px}.material-types{display:flex;flex-direction:column;justify-content:center}.material-types>div{border-top:1px solid #50594b;padding:24px 0;display:grid;grid-template-columns:40px 1fr}.material-types>div:last-child{border-bottom:1px solid #50594b}.material-types span{font-size:10px;color:#b2bdab;padding-top:5px}.material-types strong{font-size:27px;letter-spacing:-.8px;font-weight:500}.material-types small{grid-column:2;font-size:11px;color:#abb5a4;margin-top:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.steps article{border-top:1px solid #afb5a8;padding-top:22px}.steps span{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.steps h3{margin-top:27px}.steps p{font-size:13px;color:var(--muted);max-width:340px}.area{background:#e1e5dc;display:grid;grid-template-columns:1fr 1fr;gap:15%}.area .eyebrow{color:#5b6654}.area>div>p:not(.eyebrow){font-size:14px;max-width:390px;color:#53604b}.area>div>.area-note{font-size:11px!important;margin-top:25px}.towns{display:grid;grid-template-columns:1fr 1fr;align-content:center;column-gap:35px}.towns span{padding:23px 0;border-bottom:1px solid #b9c2b1;font-size:20px;letter-spacing:-.5px}.towns .special-town{grid-column:span 2;display:flex;justify-content:space-between;align-items:center}.towns small{font-size:9px;letter-spacing:1.4px}.faq{max-width:1000px;margin:auto;padding-top:85px;padding-bottom:85px}.faq h2{font-size:40px;margin-bottom:40px}.faq .eyebrow{margin-bottom:20px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-size:15px;padding:22px 0;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-weight:400;font-size:20px}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);margin:0 40px 24px 0}.estimate{background:#ebece5;display:grid;grid-template-columns:1fr 1.2fr;gap:12%;border-top:1px solid var(--line)}.estimate-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:310px}.phone{display:block;font-size:32px;letter-spacing:-1px;margin-top:35px}.email{display:block;font-size:14px;margin-top:12px}.dark-link{display:inline-block;margin-top:24px}form label{display:block;font-size:10px;font-weight:600;letter-spacing:.4px;margin-bottom:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;border:1px solid #c7ccbf;background:transparent;border-radius:0;padding:13px 12px;margin-top:9px;font-size:12px;color:var(--ink);min-height:45px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #6f7b64;outline-offset:1px}input::placeholder,textarea::placeholder{color:#7e8676}.dark-button{background:var(--ink);color:white;width:100%;justify-content:space-between}.dark-button:hover{background:#394334}.form-note,#form-status{font-size:10px;color:var(--muted);line-height:1.6;margin:16px 0 0}.copy-button{font-size:11px;padding:10px 14px;margin-top:12px;border:1px solid #737e68;background:transparent}footer{padding:55px 5% 22px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}footer p{font-size:11px;color:#bcc3b5;margin:0}footer>div:not(.footer-bottom){display:flex;flex-direction:column;gap:14px;font-size:12px;align-items:flex-end}.footer-bottom{grid-column:span 3;border-top:1px solid #414a3a;margin-top:25px;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#a3ad99}.skip{position:absolute;left:10px;top:-100px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1700px){.section,header,.hero-content,.service-strip,footer{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}.hero-content{max-width:none}.hero-image{background-position:center 55%}}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr;gap:20px}.intro>div{column-gap:40px}.service-strip{font-size:9px;gap:10px}.section{padding-top:75px;padding-bottom:75px}.hero{min-height:700px}.hero-content{padding-top:55px}.material-feature,.area,.estimate{gap:8%}nav{gap:20px}.nav-contact{padding-left:20px}}
@media(max-width:720px){header{height:78px;padding:0 6%}.brand>span{font-size:18px}.brand small{font-size:8px;letter-spacing:4.4px}.brand svg{width:36px;height:36px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;font-size:12px;padding:10px 0}.menu-toggle span{font-size:22px}nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line);align-items:stretch;gap:25px}nav.open{display:flex;flex-direction:column}.nav-contact{border-left:0;padding-left:0}.hero{min-height:690px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(15,21,18,.91),rgba(15,21,18,.5)),linear-gradient(0deg,rgba(15,21,18,.5),transparent)}.hero-content{padding:48px 6% 100px}h1{font-size:72px;letter-spacing:-4px}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:25px}.hero-description{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-bottom{left:6%;right:6%;font-size:7px;letter-spacing:.7px;flex-direction:column;gap:10px}.service-strip{justify-content:center;flex-wrap:wrap;padding:23px 6%;gap:10px 15px;font-size:8px}.service-strip i{font-size:13px}.section{padding:58px 6%}h2{font-size:43px;letter-spacing:-1.8px}.intro>div{display:block}.intro h2{font-size:43px;margin-bottom:25px}.intro p:not(.eyebrow){font-size:13px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:23px;font-size:13px}.filters{gap:7px}.filters button{font-size:10px;padding:10px 12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:26px}.card-top{margin-bottom:20px}.service-card h3{font-size:27px}.service-card p{font-size:13px}.service-card ul{font-size:12px}.service-card a{font-size:12px}.project-card h3{font-size:49px}.project-card{min-height:340px}.material-feature{grid-template-columns:1fr;padding:58px 6%;gap:35px}.material-types strong{font-size:25px}.steps{grid-template-columns:1fr;gap:24px;margin-top:35px}.steps h3{margin-top:20px}.steps p{max-width:none}.area{grid-template-columns:1fr;gap:25px}.towns{column-gap:18px}.towns span{font-size:17px;padding:19px 0}.faq h2{font-size:34px}.faq summary{font-size:13px;line-height:1.5}.estimate{grid-template-columns:1fr;gap:40px}.phone{font-size:30px}.form-row{grid-template-columns:1fr;gap:0}.estimate form label{font-size:11px}input,select,textarea{font-size:16px}.form-note{font-size:11px}footer{grid-template-columns:1fr;padding:45px 6% 22px;gap:25px}footer>div:not(.footer-bottom){align-items:flex-start}.footer-bottom{grid-column:1;flex-direction:column;gap:13px;margin-top:5px}html{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.brand>span{font-size:20px}.brand small{letter-spacing:6.5px}@media(max-width:720px){.brand>span{font-size:16px}.brand small{letter-spacing:5px}}
