@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#203e35;--paper:#f7f5f0;--ink:#253830;--line:#d6d9d0;--muted:#5c675f;--accent:#bce087}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #91b652;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.header{min-height:115px;display:flex;justify-content:space-between;align-items:center;padding:24px 5.5%;gap:30px}.brand{display:inline-block}.brand-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:24px;letter-spacing:.07em;line-height:1.1;display:block}.brand-small{display:block;font-size:11px;letter-spacing:.43em;margin-top:9px;font-weight:600}.header nav{display:flex;gap:36px;align-items:center;font-size:14px;font-weight:500}.nav-button{border:1px solid #9ba89a;padding:11px 18px;border-radius:2px}.nav-button span{margin-left:22px}.hero{display:grid;grid-template-columns:46% 54%;min-height:640px;padding-left:5.5%}.hero-copy{padding:46px 40px 40px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;display:flex;align-items:center;gap:13px;margin:0 0 27px}.rule{height:1px;width:30px;background:var(--green)}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(42px,4.35vw,72px);font-weight:500;line-height:1.13;letter-spacing:-.055em;margin:0 0 26px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}h1 em{color:#597d59}.intro{max-width:400px;font-size:17px;color:var(--muted);line-height:1.7;margin-bottom:29px}.button{display:inline-flex;gap:40px;align-items:center;background:var(--green);color:white;padding:15px 23px;font-size:14px;border-radius:2px}.button:hover{background:#315947;text-decoration:none}.experience{display:flex;align-items:center;gap:19px;margin-top:34px}.experience strong{font-family:'Manrope',sans-serif;font-size:48px;font-weight:500;line-height:1.2;letter-spacing:-.05em}.experience strong span{font-size:28px;vertical-align:top}.experience p{font-size:13px;line-height:1.6;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.hero-image{margin:0;position:relative;min-width:0;background:#c8d0c1;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:42% center}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(15,32,24,.6));pointer-events:none}.hero-image figcaption{position:absolute;left:40px;bottom:48px;font-size:12px;letter-spacing:.22em;color:white;z-index:1}.image-note{position:absolute;bottom:20px;left:40px;color:#e8eae5;font-size:12px;z-index:1}.service-strip{background:var(--green);color:#e7ece1;padding:24px 5.5%;display:flex;justify-content:space-between;gap:24px;font-size:11px;font-weight:600;letter-spacing:.14em}.section{padding:100px 8%}.services{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.section-heading>p:last-child{max-width:340px;color:var(--muted)}h2{font-size:clamp(32px,3.15vw,46px);font-weight:500;line-height:1.22;letter-spacing:-.045em;margin:0 0 25px}.service-list article{display:flex;gap:23px;border-top:1px solid var(--line);padding:25px 0}.service-list article:first-child{padding-top:0;border-top:0}.service-list article:last-child{padding-bottom:0}.number{font-size:12px;color:#64785c;padding-top:5px}.service-list h3{font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.03em;margin:0 0 10px}.service-list p{font-size:15px;color:var(--muted);margin:0 0 12px}.tag{font-size:10px;letter-spacing:.11em;font-weight:600;background:#e6ecde;padding:5px 8px;display:inline-block}.specialty{margin:0 3%;padding:70px 5.3%;display:grid;grid-template-columns:1.2fr 1fr;gap:85px;background:var(--green);color:var(--paper)}.specialty .eyebrow{color:#bccea9}.specialty h2{font-size:clamp(32px,3.4vw,50px);margin-bottom:0}.specialty h2 em{color:var(--accent)}.specialty-copy{padding-top:36px}.specialty-copy p{color:#d8e0d8;font-size:16px;max-width:420px}.specialty-copy p:first-child{font-size:21px;line-height:1.5;color:white}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #90a18d;padding-bottom:7px;margin-top:16px}.text-link span{margin-left:35px}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.about p:not(.eyebrow){color:var(--muted)}.about .about-lead{font-size:23px;color:var(--ink)!important;line-height:1.5;margin-top:0}footer{border-top:1px solid var(--line);padding:45px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:35px}footer .brand-name{font-size:20px}footer .brand-small{font-size:10px}footer p{font-size:14px;line-height:1.8}footer p span{color:var(--muted)}.copyright{font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero{min-height:760px}.hero-copy{padding-top:80px}}@media(max-width:1000px){.header{padding:25px 5%}.header nav{gap:20px}.hero{grid-template-columns:48% 52%;padding-left:5%;min-height:620px}.hero-copy{padding-top:35px;padding-right:25px}h1{font-size:46px}.services,.about{gap:45px}.section{padding:75px 6%}.specialty{gap:35px}.service-strip{font-size:10px;gap:15px}footer{flex-wrap:wrap}.copyright{width:100%}}@media(max-width:650px){.header{min-height:100px;padding:23px 6%;gap:15px;align-items:center}.brand-name{font-size:19px}.brand-small{font-size:9px}.header nav>a:not(.nav-button){display:none}.nav-button{padding:9px 11px;font-size:12px;white-space:nowrap}.nav-button span{margin-left:8px}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:35px 7% 25px}h1{font-size:clamp(39px,10vw,60px)}.intro{font-size:16px;max-width:100%}.eyebrow{font-size:11px;margin-bottom:22px}.experience{margin-top:23px}.hero-image{height:340px}.hero-image img{object-position:center 55%}.hero-image figcaption,.image-note{left:7%}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px 7%;font-size:9px}.section{padding:62px 7%}.services,.about{grid-template-columns:1fr;gap:30px}.service-list article:first-child{border-top:1px solid var(--line);padding-top:25px}.section-heading>p:last-child{max-width:100%}.specialty{margin:0 4%;padding:45px 7%;grid-template-columns:1fr;gap:15px}.specialty-copy{padding-top:0}.specialty h2{font-size:34px}.about .about-lead{font-size:21px}footer{padding:35px 7%;gap:15px}footer p{width:100%;margin:10px 0}.copyright{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:#e8eddf}.contact p:not(.eyebrow){max-width:470px;color:var(--muted)}.contact-options{display:flex;flex-wrap:wrap;align-content:center;gap:16px}.contact-options .button{font-size:16px;min-width:160px;justify-content:space-between}.contact-options .text-button{background:transparent;color:var(--green);border:1px solid var(--green)}.contact-options .text-button:hover{background:#dce5d0}.contact-options p{width:100%;margin:0;font-size:16px}.contact-options p span{font-size:14px}.nav-button{font-size:14px}@media(max-width:650px){.contact{grid-template-columns:1fr;gap:12px}.contact-options{gap:12px}.contact-options .button{min-width:145px}}

.project{padding-top:20px}.project-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:end;margin-bottom:30px}.project-heading h2{margin-bottom:0}.project-heading>p{max-width:440px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-grid figure{margin:0;min-width:0}.project-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#d6d9d0}.project-grid figcaption{font-size:15px;padding-top:14px;line-height:1.5}.project-grid figcaption span{display:block;font-size:12px;letter-spacing:.14em;color:#597d59;font-weight:700;margin-bottom:5px}@media(max-width:650px){.project-heading{grid-template-columns:1fr;gap:15px}.project-grid{grid-template-columns:1fr;gap:28px}.project{padding-top:0}.project-grid img{aspect-ratio:auto}}

.project-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:42px}.project-comparison figcaption span{font-size:14px}.project-details figcaption{font-size:14px}@media(max-width:900px){.project-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.project-comparison,.project-details{grid-template-columns:1fr}.project-details{margin-top:28px}}
