:root{--paper:#cdd0cb;--ink:#242b25;--green:#294c32;--line:#b7bfb3;--muted:#677064}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #86a457;outline-offset:5px}img{display:block;max-width:100%}header{height:100px;padding:14px 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand img{width:142px;height:70px;object-fit:contain}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a:hover,.text-link:hover{color:#598b35}.nav-cta{border:1px solid #9ca997;padding:14px 20px;border-radius:3px}.nav-cta span{margin-left:24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:65px 11% 30px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:700;margin:0 0 25px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.8px;margin:0;line-height:1.06}h1{font-size:clamp(55px,6vw,86px)}em{font-weight:400;color:var(--green)}.lead{font-size:17px;line-height:1.7;max-width:375px;margin:27px 0 30px;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:white;border:0;padding:19px 24px;font-size:14px;border-radius:3px;transition:background .2s}.button:hover{background:#416546}.hero-foot{margin-top:55px;display:flex;flex-direction:column;gap:17px;font-size:11px;letter-spacing:1px;color:var(--muted)}.hero-foot a{font-size:13px;letter-spacing:0}.hero-photo{position:relative;margin:0;overflow:hidden;max-height:790px}.hero-photo img{height:100%;width:100%;object-fit:cover}.hero-photo figcaption{position:absolute;bottom:30px;left:30px;color:white;font-size:14px;text-shadow:0 1px 6px black}.ribbon{display:flex;justify-content:space-around;gap:16px;padding:27px 5%;border-block:1px solid var(--line);font-size:14px}.ribbon i{font-size:10px;color:#638b40}.section{padding:100px 7%}h2{font-size:clamp(39px,4.4vw,62px);letter-spacing:-1.8px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px}.section-head>p{max-width:380px;color:var(--muted);line-height:1.8;font-size:15px;margin:0 0 7px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:38px 0 32px}.filters button{border:1px solid var(--line);padding:11px 22px;background:transparent;border-radius:30px;color:var(--muted);font-size:13px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}.project{border:0;background:transparent;padding:0;text-align:left;color:var(--ink)}.project[hidden]{display:none}.image-wrap{height:365px;position:relative;overflow:hidden;background:#e9ebe4}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.expand{position:absolute;right:15px;bottom:15px;border-radius:50%;background:var(--paper);width:37px;height:37px;display:grid;place-items:center}.project-caption{display:flex;flex-direction:column;gap:10px;margin:17px 0 0}.project-caption strong{font-size:16px;font-weight:400}.project-caption small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.instagram-note{margin:44px 0 14px;color:var(--muted);font-size:14px}.text-link{border-bottom:1px solid #9ca997;padding-bottom:7px;font-size:14px;display:inline-block}.about{background:#bfc7bb;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted)}.about .about-intro{font-size:18px!important;margin-top:30px}.about .text-link{margin-top:20px}.about figure{position:relative;margin:0}.about figure>img{width:100%;height:440px;object-fit:cover}.about figcaption{position:absolute;bottom:-30px;right:-20px;padding:25px 32px;display:flex;flex-direction:column;gap:8px;background:var(--green);color:white}.about figcaption span{font-size:9px;letter-spacing:1.5px}.about figcaption strong{font-family:Georgia,serif;font-size:49px;font-weight:400}.possibility-list{margin-top:45px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.possibility-list>div{border-top:1px solid var(--line);padding-top:22px}.possibility-list span{font-size:11px;color:var(--muted)}h3{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:20px 0 13px}.possibility-list p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}.contact{background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact em{color:#cedbb3}.contact-copy>p:not(.eyebrow){line-height:1.8;color:#d4ddce;max-width:370px;margin:28px 0}.button.light{background:var(--paper);color:var(--green)}.button.light:hover{background:#dce6cf}.contact-details{margin-top:36px;display:flex;flex-direction:column;gap:18px}.contact-details>a:first-child{font-size:23px}.contact-details address{font-size:14px;font-style:normal;line-height:1.8;color:#d4ddce}.map-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}form{background:var(--paper);padding:32px;color:var(--ink);border-radius:4px}.form-title{font-family:Georgia,serif;font-size:26px;margin:0 0 28px}label{display:block;font-size:12px;margin:20px 0 9px}input,select,textarea{width:100%;padding:14px;border:1px solid #ccd3c7;background:#fff;color:var(--ink);border-radius:2px;font-size:14px}textarea{resize:vertical}form .button{margin-top:22px;width:100%}form small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:13px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 6%;font-size:12px}footer p{line-height:1.8;color:var(--muted)}footer>span{font-size:10px;color:var(--muted)}.floating{position:fixed;right:25px;bottom:25px;background:#294c32;border:1px solid #a2bd8a;color:#fff;box-shadow:0 3px 15px #0003;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;z-index:10}.floating svg{width:30px;fill:none;stroke:currentColor;stroke-width:1.5}dialog{border:0;background:var(--paper);padding:22px;max-width:90vw;max-height:94vh;border-radius:4px}dialog::backdrop{background:#102116dd}#viewer-img{max-height:70vh;margin:auto;object-fit:contain}#close-viewer{position:sticky;top:0;float:right;width:35px;height:35px;border:0;background:var(--green);color:white;font-size:27px;z-index:1}#viewer-title{font-family:Georgia,serif;font-size:22px}#viewer-cta{font-size:13px;border-bottom:1px solid #9ca997}.skip{position:fixed;top:-100px;left:15px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}@media(min-width:1550px){body{max-width:1700px;margin:auto}.hero{min-height:790px}}@media(max-width:1000px){.hero-copy{padding:45px 9% 25px}.hero{min-height:620px}.hero-foot{margin-top:35px}.image-wrap{height:300px}.section{padding:75px 6%}.contact{gap:7%}nav{gap:22px}.ribbon{font-size:12px}}@media(max-width:700px){header{height:88px;padding:10px 6%}.brand img{width:115px;height:64px}nav{gap:14px;font-size:12px}nav>a:nth-child(2){display:none}.nav-cta{padding:10px}.nav-cta span{margin-left:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 7% 32px}h1{font-size:62px}.hero-photo{height:440px}.lead{font-size:16px}.hero-foot{margin-top:28px}.ribbon{flex-wrap:wrap;justify-content:center;padding:22px 6%;gap:13px}.section{padding:60px 7%}.section-head{display:block}.section-head>p{margin-top:24px}.filters{gap:8px;margin:28px 0}.filters button{padding:9px 14px;font-size:12px}.gallery{grid-template-columns:repeat(2,1fr);gap:26px 15px}.image-wrap{height:240px}.project-caption strong{font-size:14px;line-height:1.4}.project-caption small{font-size:8px}.about{grid-template-columns:1fr;gap:38px}.about figure>img{height:330px}.about figcaption{right:-10px;bottom:-15px;padding:20px 25px}.possibility-list{grid-template-columns:1fr;gap:28px;margin-top:35px}.possibility-list>div{display:grid;grid-template-columns:35px 1fr}.possibility-list h3{margin:0 0 14px}.possibility-list p{grid-column:2}.contact{grid-template-columns:1fr;gap:36px}form{padding:25px}footer{flex-wrap:wrap;gap:20px;padding:30px 7%}footer>span{width:100%}.floating{right:16px;bottom:16px;width:52px;height:52px}}@media(max-width:380px){nav>a:first-child{display:none}.image-wrap{height:200px}h1{font-size:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
