@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#132e29;--dark:#0c2823;--lime:#dbed89;--paper:#fff;--muted:#60706c;--line:#dce3df;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #84a628;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;line-height:1.08;letter-spacing:-.055em}em{font-style:normal}button{color:inherit}.progress{position:fixed;top:0;left:0;width:0;height:3px;background:#819e35;z-index:40}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);transition:height .3s,box-shadow .3s}header.scrolled{height:78px;box-shadow:0 4px 24px #10221c10}.logo{font-size:40px;font-weight:800;letter-spacing:-3px;line-height:1}.logo>span{color:#728f25}.logo small{display:block;font-size:12px;letter-spacing:1px;margin-top:9px;font-weight:600}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a{padding:12px 0;position:relative}nav a:after{content:'';position:absolute;left:0;bottom:6px;width:100%;height:2px;background:#718d36;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}.nav-phone{font-size:12px;line-height:1.5;text-align:right;color:var(--muted)}.nav-phone b{display:block;font-size:17px;color:var(--ink)}.menu{display:none}.hero{background:var(--dark);position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:0 6%}.hero-visual{position:absolute;inset:0;z-index:-2}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061c19df 0%,#061c19ad 38%,#061c1933 100%),linear-gradient(0deg,#061c1999,transparent 45%)}.hero-photo{object-position:center;transform:scale(1.1);will-change:transform}.hero-main{max-width:1500px;min-height:720px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:50px;padding:70px 0 60px}.hero-content{max-width:800px}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:700}.hero .eyebrow{color:#dde9d9;margin-bottom:32px}.hero h1{font-size:clamp(64px,7.4vw,118px);line-height:1.04;letter-spacing:-.06em}.hero h1>span{display:block}.hero h1 em{color:var(--lime)}.hero-description{max-width:455px;font-size:17px;line-height:1.85;color:#e0e8e2;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;font-size:14px;font-weight:800;padding:19px 25px;min-height:58px;transition:background .3s,transform .3s,box-shadow .3s}.button span{font-size:23px;line-height:1;transition:transform .3s}.lime{background:var(--lime);color:var(--dark)}.button:hover{background:#cce374;box-shadow:0 8px 28px #00000015;transform:translateY(-2px)}.button:hover span{transform:translate(3px,-3px)}.button:disabled{opacity:.65;cursor:wait;transform:none}.hero-link{font-size:14px;font-weight:600;border-bottom:1px solid #ffffff60;padding:10px 0}.hero-link span{margin-left:17px}.hero-project{align-self:flex-end;display:flex;width:340px;flex-shrink:0;background:#ffffffed;color:var(--ink);padding:10px;backdrop-filter:blur(10px);transition:transform .4s}.hero-project:hover{transform:translateY(-7px)}.hero-project img{width:108px;height:145px;object-position:center}.hero-project>span{padding:12px 14px;position:relative;font-size:10px;letter-spacing:.12em;flex:1}.hero-project strong{display:block;font-size:17px;line-height:1.5;letter-spacing:-.03em;font-weight:600;margin-top:14px}.hero-project b{position:absolute;right:10px;bottom:0;font-size:25px;font-weight:400}.hero-bottom{max-width:1500px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #ffffff45;padding:25px 0;font-size:12px;letter-spacing:.09em}.section{padding:110px 6%;max-width:1720px;margin:auto}.section-heading>.eyebrow{color:var(--muted);margin-bottom:30px}.section-heading>div{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.section-heading h2{font-size:clamp(38px,4.2vw,64px)}.section-heading h2 span{color:#6a7b75}.section-heading>div>p{font-size:16px;color:var(--muted);max-width:400px;padding-bottom:4px}.service-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;margin-top:55px;align-items:start}.service-photo{height:575px;position:sticky;top:105px;overflow:hidden;background:#d9e4df}.service-photo img{object-position:63% center}.service-photo>span{position:absolute;bottom:0;left:0;right:0;padding:80px 28px 27px;background:linear-gradient(transparent,#092720e6);color:white;font-size:12px;letter-spacing:.12em}.service-photo small{position:absolute;top:16px;left:16px;font-size:12px;padding:3px 9px;background:#092720b0;color:white}details{border-bottom:1px solid var(--line);overflow:hidden}details:first-child{border-top:1px solid var(--line)}summary{display:flex;align-items:center;gap:20px;list-style:none;padding:25px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:12px;color:#7a8b84}summary h3{font-size:20px;letter-spacing:-.04em;font-weight:600;line-height:1.4}summary b{margin-left:auto;font-size:22px;font-weight:400;display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;transition:transform .3s,background .3s}details[open] summary b{transform:rotate(45deg);background:var(--lime);border-color:var(--lime)}.detail{padding:0 38px 28px}.detail p{font-size:16px;color:var(--muted);line-height:1.85}.detail a{display:inline-block;font-size:14px;font-weight:700;margin-top:20px;border-bottom:1px solid #80983e;padding-bottom:3px}.about{max-width:none;background:var(--dark);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:90px 6%}.about-photo{height:620px;position:relative;overflow:hidden}.about-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#092720c0)}.about-photo img{object-position:40% center}.about-photo>span{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;font-size:12px;letter-spacing:.12em}.about-top>.eyebrow{color:#b7c8bf;margin-bottom:30px}.about h2{font-size:clamp(38px,4vw,60px)}.about h2 em{color:var(--lime)}.about-bottom{margin-top:30px}.signature{font-size:21px;font-weight:600;margin-bottom:20px}.signature span{display:block;font-size:12px;letter-spacing:.08em;color:#b6c7be;margin-top:5px}.about-bottom p{font-size:16px;color:#c5d3cc;line-height:1.85;max-width:590px}.credentials{display:grid;gap:8px;font-size:14px;margin:22px 0;color:#e7eee9}.text-link{display:inline-block;color:var(--lime);font-size:14px;border-bottom:1px solid #dbe98960;padding-bottom:6px}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:300px 300px;gap:18px;margin-top:50px}.gallery-card{border:0;padding:0;position:relative;overflow:hidden;text-align:left;background:var(--dark);color:white;min-width:0}.gallery-card.tall{grid-row:auto}.gallery-card.wide{grid-column:auto}.gallery-card:nth-child(5){display:block}.gallery-card img{transition:transform .8s var(--ease),filter .5s}.gallery-card:hover img{transform:scale(1.055);filter:brightness(.85)}.gallery-card>span{position:absolute;inset:auto 0 0;padding:65px 22px 23px;background:linear-gradient(transparent,#061d19dd);font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:10px}.gallery-card b{font-size:24px;font-weight:400;transition:transform .3s}.gallery-card:hover b{transform:translate(3px,-3px)}.contact{max-width:none;background:#f1f5f2;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:clamp(42px,5vw,74px);margin:28px 0}.contact em{color:#658336}.contact-copy>p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:440px}.big-phone{display:inline-block;font-size:clamp(26px,3vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.5;margin-top:28px}.email{display:block;width:fit-content;font-size:16px;border-bottom:1px solid #adbab1;margin-top:8px}.contact-copy>.hours{font-size:14px!important;margin-top:16px}.area{border-top:1px solid #cbd7ce;margin-top:32px;padding-top:24px}.area>span{font-size:12px;letter-spacing:.13em;font-weight:700}.area p{font-size:14px;color:var(--muted);margin-top:12px}form{background:#fff;padding:38px;align-self:start;border-top:3px solid #819f3f;box-shadow:0 18px 50px #15372a08}form h3{font-size:23px;font-weight:600;letter-spacing:-.04em;margin-bottom:28px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;margin-bottom:20px}input,textarea,select{border:1px solid #d3ddd6;background:#fff;color:var(--ink);padding:12px;border-radius:0;width:100%;font-size:16px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#75867c;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #7c9939}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form .button{width:100%;margin-top:5px}.form-note{font-size:12px;color:var(--muted);margin-top:16px}#form-status{font-size:14px;margin-top:10px}footer{background:var(--dark);color:white;padding:42px 6%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px}.footer-word{width:100%;font-size:clamp(34px,8.7vw,138px);font-weight:500;line-height:1.2;letter-spacing:-.065em;border-bottom:1px solid #ffffff25;padding-bottom:35px;display:flex;justify-content:space-between;white-space:nowrap}.footer-word>span{color:var(--lime)}footer p,footer>a:last-child{font-size:12px;color:#b7c9bf}.photo-credit{width:100%;font-size:12px;color:#a5bbb0}.photo-credit a{text-decoration:underline;text-underline-offset:3px}.mobile-call{display:none}dialog{width:100vw;height:100svh;max-width:none;max-height:none;border:0;padding:60px 70px;background:#071b17f5;color:white}dialog::backdrop{background:#071b17}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:1100px;height:85%;width:90%;text-align:center}dialog img{object-fit:contain;height:calc(100% - 40px)}figcaption{font-size:14px;margin-top:15px}dialog button{background:transparent;color:white;border:1px solid #ffffff50;width:44px;height:44px;font-size:24px;flex-shrink:0}.close{position:absolute;top:20px;right:25px}.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--delay,0ms)}.js-motion .reveal{opacity:0;transform:translateY(30px)}.js-motion .reveal.visible{opacity:1;transform:none}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(min-width:741px) and (prefers-reduced-motion:no-preference){.hero-content>.eyebrow,.hero h1>span,.hero-description,.hero-actions,.hero-project{animation:rise-in 1s var(--ease) both}.hero h1>span:nth-child(1){animation-delay:.08s}.hero h1>span:nth-child(2){animation-delay:.18s}.hero h1>span:nth-child(3){animation-delay:.28s}.hero-description{animation-delay:.4s}.hero-actions{animation-delay:.5s}.hero-project{animation-delay:.65s}@keyframes rise-in{from{opacity:0;transform:translateY(35px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}}
@media(max-width:1100px){.hero-main{min-height:670px;gap:20px}.hero-project{width:270px}.hero-project img{width:80px}.hero-project strong{font-size:15px}.hero-bottom{font-size:10px;letter-spacing:.04em}.section{padding:85px 5%}.section-heading>div{gap:25px}.section-heading>div>p{max-width:300px}.service-layout{gap:5%}.service-photo{height:570px}summary h3{font-size:18px}.about{gap:6%}.about-photo{height:660px}.contact{gap:5%}form{padding:27px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:740px){html{scroll-padding-top:90px}header,header.scrolled{height:80px;padding:0 6%}.logo{font-size:32px}.logo small{font-size:10px}.nav-phone{margin-left:auto;margin-right:18px;font-size:10px}.nav-phone b{font-size:14px}.menu{display:block;border:0;background:none;font-size:24px;padding:5px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:20px 6%;border-bottom:1px solid var(--line);flex-direction:column;gap:4px}nav.open{display:flex}.hero{padding:0 6%}.hero-main{display:block;min-height:0;padding:55px 0 30px}.hero h1{font-size:clamp(60px,13vw,91px)}.hero .eyebrow{font-size:11px;margin-bottom:25px;letter-spacing:.1em}.hero-description{font-size:16px;margin-top:26px}.hero-actions{gap:25px;flex-wrap:wrap;margin-top:28px}.button{padding:17px 21px;gap:24px}.hero-project{margin-top:45px;width:100%;max-width:400px;background:#ffffffed;padding:8px}.hero-project img{width:90px;height:96px}.hero-project>span{font-size:10px;padding:5px 17px}.hero-project strong{font-size:16px;line-height:1.4;margin-top:8px}.hero-project strong br{display:none}.hero-project b{bottom:0;right:14px}.hero-bottom{display:flex;flex-wrap:wrap;gap:10px 18px;padding:22px 0;font-size:10px}.hero-bottom a{display:none}.hero-visual:after{background:linear-gradient(90deg,#061c19df,#061c1988)}.section{padding:65px 6%}.section-heading>.eyebrow{margin-bottom:23px}.section-heading>div{display:block}.section-heading h2{font-size:clamp(35px,8vw,54px)}.section-heading>div>p{margin-top:22px;max-width:100%}.service-layout{display:flex;flex-direction:column;gap:25px;margin-top:32px}.service-photo{position:relative;top:0;height:370px;width:100%}.service-list{width:100%}summary{padding:22px 0;gap:14px}summary h3{font-size:18px}.detail{padding-left:28px;padding-right:12px}.about{display:flex;flex-direction:column-reverse;gap:35px}.about h2{font-size:clamp(37px,9vw,58px)}.about-photo{width:100%;height:380px}.about-top>.eyebrow{margin-bottom:25px}.about-body{width:100%}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 240px 240px 260px;gap:12px;margin-top:30px}.gallery-card.tall{grid-row:auto;grid-column:span 2}.gallery-card.wide{grid-column:span 2}.gallery-card:nth-child(5){display:block}.gallery-card>span{padding:50px 14px 17px;font-size:12px;line-height:1.5}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:clamp(44px,10vw,66px)}.big-phone{font-size:34px}.email{font-size:15px}form{padding:26px}.footer-word{font-size:8.8vw;padding-bottom:25px}footer{padding:35px 6% 105px;gap:24px}footer p{order:3;width:100%}.photo-credit{order:4}.mobile-call{position:fixed;bottom:14px;left:6%;right:6%;z-index:19;display:flex;justify-content:space-between;align-items:center;background:var(--dark);color:#fff;box-shadow:0 7px 25px #10221c40;padding:13px 22px;font-size:14px;font-weight:600;transform:translateY(100px);visibility:hidden;transition:transform .3s,visibility .3s}.mobile-call.visible{transform:none;visibility:visible}.mobile-call span{font-size:22px;color:var(--lime)}dialog{padding:65px 8px}dialog figure{width:calc(100% - 64px);height:75%}dialog button{width:32px;height:40px}}
@media(max-width:380px){.hero h1{font-size:16vw}.hero-actions{gap:15px}.hero-link{font-size:12px}.nav-phone{margin-right:9px}.gallery-grid{display:flex;flex-direction:column}.gallery-card{height:300px}form{padding:21px}.big-phone{font-size:29px}.button{gap:12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-photo{transform:none!important;will-change:auto}}

[hidden]{display:none!important}
