@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');:root{--dark:#1c3528;--green:#2c4b38;--cream:#f5f3ed;--ink:#27352b;--accent:#c8d7a4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;line-height:1.06}h1{font-size:clamp(3.5rem,7.5vw,7.8rem)}h2{font-size:clamp(2.5rem,4.5vw,5rem)}h3{font-size:2rem}em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.header{height:96px;background:#f9f8f4;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.12em;font-size:1.4rem;line-height:1}.brandmark{background:var(--dark);color:white;display:grid;place-items:center;width:48px;height:48px;font-size:30px;font-family:Georgia}.brandmark span,.dot{color:#a2b97e}.brand small{display:block;font-size:.52rem;letter-spacing:.13em;margin-top:7px}.nav{display:flex;align-items:center;gap:26px;font-size:.87rem;font-weight:600}.nav a:hover,.textlink:hover{color:#72915b}.navcta{background:var(--dark);padding:15px 21px;color:white!important}.menu{display:none}.hero{min-height:670px;height:calc(100vh - 96px);max-height:920px;position:relative;background:var(--dark);color:white;display:flex;align-items:center}.heroimage{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,23,.85),rgba(15,36,23,.26)),url('/assets/img/hero.webp') center 55%/cover}.herocontent{position:relative;z-index:1;margin-left:9%;max-width:740px}.herocontent h1{margin:25px 0}.herocontent p:not(.eyebrow){max-width:490px;line-height:1.8;font-size:1.06rem;color:#e7ebe2}.eyebrow{font-size:.72rem;letter-spacing:.23em;font-weight:700;color:#718b61}.eyebrow.light{color:#c6d7a9}.button{display:inline-flex;gap:45px;align-items:center;justify-content:space-between;padding:19px 25px;background:#d5e2b6;color:#193121;font-weight:700;margin-top:22px;border:0;cursor:pointer}.button:hover{background:white}.herofoot{position:absolute;bottom:35px;left:9%;font-size:.72rem;letter-spacing:.2em}.herofoot span{margin:0 20px;color:#c6d7a9}.wrap{max-width:1330px;margin:auto;padding-left:5%;padding-right:5%}.intro{padding-top:135px;padding-bottom:120px;display:grid;grid-template-columns:1.1fr .9fr;gap:13%}.intro p:not(.eyebrow){font-size:1.2rem;line-height:1.9;color:#5d695f;margin-top:52px}.textlink{font-weight:700;border-bottom:1px solid;padding-bottom:8px}.services{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:140px}.service{background:white}.service img{width:100%;height:370px;object-fit:cover;display:block}.servicebody{padding:37px 40px 45px}.servicebody span{font-size:.72rem;letter-spacing:.2em;color:#708b60;font-weight:700}.servicebody h3{margin:20px 0 12px}.servicebody p{line-height:1.7;color:#647166;max-width:430px}.servicebody a{font-weight:700;display:inline-block;margin-top:15px}.quote{text-align:center;background:var(--dark);color:white;padding:125px 20px}.quote h2{margin:35px 0}.inverse{background:#d5e2b6}.galleryheading{padding-top:120px;padding-bottom:38px;display:flex;justify-content:space-between;align-items:end}.galleryheading h2{margin-bottom:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:125px}.gallery img{width:100%;height:300px;object-fit:cover}.footer{background:#132b1d;color:#f0f4ec;padding:75px 8% 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer p{color:#b6c6b6;margin-top:30px}.footer strong{display:block;margin-bottom:25px}.footer a:not(.brand){display:block;margin:12px 0;color:#c5d3c5}.footerbrand .brandmark{background:#d3e1b2;color:#18301e}.copyright{grid-column:1/-1;border-top:1px solid #3b5141;padding-top:22px;color:#a7b8a7;font-size:.8rem}.pagehero{padding:110px 9% 105px;background:#e9eddf}.pagehero h1{margin:20px 0 30px}.pagehero>p:last-child{font-size:1.18rem;line-height:1.8;max-width:620px}.split{padding-top:110px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.split img{width:100%;height:510px;object-fit:cover}.split p:not(.eyebrow){line-height:1.9;color:#617063}.small{font-size:.82rem!important;color:#7b857b!important}.projects{padding-top:90px}.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding-top:100px;padding-bottom:120px}.contactgrid p{line-height:1.8}.contactform{background:white;padding:40px}.contactform label{display:block;font-weight:600;margin-bottom:20px;font-size:.87rem}.contactform input:not([type=checkbox]),.contactform textarea{width:100%;padding:14px;border:1px solid #cbd3c7;font:inherit;margin-top:9px;background:#fafbf8}.contactform .privacy{font-weight:400;line-height:1.6}.trap{position:absolute;left:-9999px}.notice{color:#28632d;font-weight:700}@media(max-width:1000px){.nav{gap:13px;font-size:.75rem}.header{padding:0 3%}}@media(max-width:760px){.header{height:78px;padding:0 5%}.brand{font-size:1.1rem}.brand small{font-size:.42rem}.menu{display:block;background:transparent;border:0;font-size:1.7rem}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#f9f8f4;padding:25px;z-index:10;flex-direction:column;align-items:stretch;font-size:1rem}.nav.open{display:flex}.hero{height:700px;min-height:0}.herocontent{margin:0 7%;padding-top:10px}.herofoot{left:7%;font-size:.58rem}.intro,.services,.split,.contactgrid{grid-template-columns:1fr;gap:30px}.intro{padding-top:85px;padding-bottom:70px}.intro p:not(.eyebrow){margin-top:0}.services{padding-bottom:80px}.service img{height:280px}.quote{padding:85px 20px}.galleryheading{padding-top:80px}.gallery{grid-template-columns:1fr 1fr;padding-bottom:80px}.gallery img{height:210px}.footer{grid-template-columns:1fr 1fr;padding:55px 6% 25px}.footer>div:first-child{grid-column:1/-1}.pagehero{padding:80px 7%}.split,.contactgrid{padding-top:70px;padding-bottom:80px}.split img{height:330px}.contactform{padding:24px}}@media(max-width:480px){.gallery{grid-template-columns:1fr}.gallery img{height:250px}.herofoot{letter-spacing:.05em}.footer{gap:20px}}
