
:root{--pine:#183c2c;--ink:#21382b;--cream:#f6f4ec;--sage:#dde3d2;--muted:#657264;--gold:#d7c8a0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 Arial,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid #bc953d;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.utility{background:var(--pine);color:#e6eddf;font-size:12px;letter-spacing:.06em;padding:9px 0}.utility .wrap{display:flex;justify-content:space-between}.utility a{text-decoration:none}header{background:var(--cream)}nav{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 0}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:700;font-size:19px}.brand img{width:66px;height:66px;border-radius:50%}.navlinks{display:flex;align-items:center;gap:25px;font-size:13px}.navlinks a{text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 22px;background:var(--pine);color:white;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.02em;border:1px solid var(--pine)}.button.light{background:var(--cream);color:var(--pine);border-color:var(--cream)}.button.outline{background:transparent;border-color:#ffffff70;color:white}.hero{position:relative;isolation:isolate;min-height:630px;display:flex;align-items:center;background:#283a21;color:white}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,31,21,.83),rgba(12,31,21,.48) 53%,rgba(12,31,21,.06));z-index:-1}.hero .wrap{padding-top:50px;padding-bottom:55px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.21em;font-weight:700;margin:0 0 18px}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0 0 22px}h1{font-size:clamp(44px,5.7vw,78px);max-width:720px}h2{font-size:clamp(33px,4vw,51px)}.hero p.description{max-width:510px;color:#f0f0e6;font-size:16px;margin:0 0 27px}.actions{display:flex;gap:12px;flex-wrap:wrap}.strip{background:var(--sage);padding:20px 0}.strip .wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px}.strip span{display:flex;gap:12px;align-items:center}.strip i{width:5px;height:5px;background:var(--pine);border-radius:50%}.section{padding:90px 0}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.intro p{margin-top:0;color:var(--muted);max-width:590px}.textlink{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #74836a;padding-bottom:5px;display:inline-block}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:35px}.sectionhead h2{margin:0}.services{background:#eeeee4}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.card{background:var(--cream)}.card>img{display:block;width:100%;height:230px;object-fit:cover}.cardbody{padding:26px}.card small{font-size:11px;color:#73816b;letter-spacing:.12em}.card h3{font:27px/1.2 Georgia,serif;margin:12px 0}.card p{font-size:14px;color:var(--muted);margin-bottom:24px}.showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.showcase>img{width:100%;height:390px;object-fit:cover}.showcase p{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:38px}.gallery a{display:block}.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.contact{background:var(--pine);color:var(--cream)}.contactgrid{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact p{max-width:530px;color:#d9e1d1}.contact h2{max-width:650px}footer{padding:30px 0;font-size:12px;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:20px}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.navlinks{gap:14px}.navlinks a:not(.button){display:none}.utility .wrap span{max-width:65%}.intro,.showcase{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr;gap:26px}.card{display:grid;grid-template-columns:1fr 1.2fr}.card>img{height:100%;min-height:230px}.section{padding:55px 0}.hero{min-height:610px}.strip .wrap{flex-wrap:wrap}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.contactgrid{display:block}.showcase>img{height:310px}}@media(max-width:500px){.brand{font-size:15px;gap:8px}.brand img{width:48px;height:48px}.navlinks .button{padding:10px;font-size:11px}.card{display:block}.card>img{height:210px}.hero:after{background:rgba(12,31,21,.58)}.hero{min-height:620px}.hero>img{object-position:35% center}.strip .wrap{display:grid;gap:8px}.sectionhead{display:block}.sectionhead .textlink{margin-top:18px}footer .wrap{display:block}}

.service-hero{min-height:440px}.service-hero h1{font-size:clamp(40px,5vw,68px);max-width:820px}.service-hero>img{object-position:center 60%}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.service-list article{border-top:1px solid #bcc7b2;padding-top:22px}.service-list h3{font:29px/1.2 Georgia,serif;margin:0 0 16px}.service-list p{font-size:15px;color:var(--muted)}
.job-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0 45px}.job-pair figure{margin:0}.job-pair img{width:100%;height:360px;object-fit:cover;display:block}.job-pair figcaption{font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin-top:10px}.job-title{font:30px Georgia,serif}
.service-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px;margin-top:28px}.service-gallery img{width:100%;height:180px;object-fit:cover;display:block}.service-gallery a{display:block}
@media(max-width:700px){.service-list{grid-template-columns:1fr;gap:24px}.job-pair{gap:12px}.job-pair img{height:250px}.service-hero{min-height:490px}.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.mobile-menu{display:none}
@media(max-width:1100px){.navlinks{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;font-size:14px;font-weight:700;padding:12px}.mobile-links{position:absolute;right:0;top:100%;width:230px;padding:18px;display:grid;gap:14px;background:var(--cream);box-shadow:0 10px 30px #0002;z-index:10}.mobile-links a{text-decoration:none}.mobile-links .button{color:white}}

.service-areas p{max-width:850px;color:var(--muted)}.related-services{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}
