@font-face{font-family:Manrope;src:url('/assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--forest:#102f26;--ink:#142d25;--paper:#f7f8f4;--muted:#617068;--line:#d9dfd6;--accent:#d2f18b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #6a912d;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;line-height:1.08}h2{font-size:clamp(2.5rem,4.2vw,3.8rem);letter-spacing:-.055em}h3{font-size:1.65rem;letter-spacing:-.035em}.container{width:min(1280px,90%);margin:auto}.header{background:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px}.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-mark{position:relative;display:block;width:60px;height:61px;overflow:hidden}.logo-mark img{position:absolute;width:116px;height:116px;max-width:none;left:-28px;top:-13px}.wordmark{font-weight:800;font-size:1.05rem;line-height:1.25;letter-spacing:-.035em}.wordmark>span{display:block;font-weight:600;font-size:.875rem;letter-spacing:.02em;margin-top:3px}nav{display:flex;gap:34px;font-size:.875rem;font-weight:600}nav a{padding:10px 0}nav a:hover{box-shadow:inset 0 -2px var(--forest)}.header-call{display:flex;gap:11px;align-items:center;font-size:.875rem;font-weight:600;padding:13px 20px;border:1px solid var(--line);border-radius:50px}.header-call:hover{background:var(--paper)}.header-call svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.hero{min-height:690px;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:var(--forest);color:white}.hero-image{position:absolute;inset:0 0 0 auto;width:48%;height:100%;object-fit:cover;object-position:72% center;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102f26 0%,#102f26 48%,#102f2650 65%,#102f2600 100%)}.hero-content{padding:76px 0 92px}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:600;margin-bottom:25px}.light{color:var(--accent)}h1{font-size:clamp(3.3rem,6vw,5.6rem);letter-spacing:-.06em;line-height:1.06;max-width:790px}h1 em{font-style:normal;font-weight:400;color:var(--accent);font-size:.76em;display:block;margin-top:8px;letter-spacing:-.055em}.hero-intro{max-width:465px;color:#d4ded6;font-size:1.05rem;margin-top:27px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:35px}.button{border:0;border-radius:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 24px;font-weight:800;font-size:.875rem;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:1.25rem;line-height:1}.cream{background:var(--accent);color:#163124}.cream:hover{background:#e2ff9f}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:.875rem;border-bottom:1px solid #aab6a5;padding:6px 0}.text-link:hover{border-color:var(--accent)}.hero-caption{position:absolute;right:5%;bottom:30px;display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--accent);padding-left:15px;text-shadow:0 1px 6px #000}.hero-caption span:first-child{font-size:.75rem;letter-spacing:.1em;font-weight:600}.hero-caption span:last-child{font-size:.875rem}.section{padding:95px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px}.section-heading>p{max-width:360px;color:var(--muted);margin-bottom:4px}.muted-heading{color:#6b806f}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}.service{border:1px solid var(--line);background:#fff;padding:30px;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s,transform .2s}.service:hover{border-color:#91a685;transform:translateY(-3px)}.service-featured{grid-row:span 2;background:var(--accent);border-color:var(--accent);padding:35px;justify-content:flex-end}.service-number{display:block;font-size:.75rem;letter-spacing:.07em;color:#5e7465;font-weight:600;margin-bottom:25px}.service-featured .service-number{margin-bottom:auto;padding-bottom:95px;color:#345036}.service h3{font-size:1.65rem;margin-bottom:15px}.service-featured h3{font-size:clamp(2.5rem,3vw,3.5rem)}.service p{font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:0;max-width:410px}.service-featured p{color:#345036}.services-cta{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:32px}.services-cta p{color:var(--muted);font-size:.95rem}.services-button{background:var(--forest);color:#fff}.services-button:hover{background:#20513b}.about{background:var(--forest);color:#f4f6ef;padding:76px 0}.about-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.about .eyebrow{margin-top:0}.about h2{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:24px}.about p:not(.eyebrow){max-width:610px;color:#cfdbd1;margin-bottom:16px}.about .about-statement{font-size:1.8rem;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:var(--accent);margin-top:12px}.about .text-link{margin-top:8px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);margin-top:25px}.phone-large{font-weight:800;display:flex;align-items:center;gap:24px;font-size:clamp(1.7rem,2.4vw,2.2rem);margin-top:35px;letter-spacing:-.045em}.phone-large span{font-size:1.3rem}.email-link{display:inline-block;margin-top:12px;font-size:.95rem;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}.address{margin-top:38px}.small-label{font-size:.75rem;letter-spacing:.12em;font-weight:600}.address p{margin:10px 0}.address a{font-size:.875rem;border-bottom:1px solid var(--line)}.contact-form{background:white;border:1px solid var(--line);border-radius:18px;padding:35px}.contact-form h3{font-size:1.7rem}.form-intro{margin:15px 0 26px;color:var(--muted);font-size:.875rem;line-height:1.7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.field label{font-size:.875rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid #d7dfd4;border-radius:8px;background:#f8faf5;padding:12px;color:#223929;width:100%;min-width:0;font-size:1rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #577b48;outline-offset:1px}.field textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#6a7869;opacity:1}.green{background:var(--forest);color:#fff;width:100%}.green:hover{background:#20513b}.form-note{font-size:.8rem;color:#61705c;margin-top:14px;line-height:1.6}.form-status{margin-top:15px;font-size:.9rem}.form-status[hidden]{display:none}footer{background:var(--forest);padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.8rem;color:#cbd8cc}.footer-inner p{font-weight:800;font-size:1rem;color:#fff}.skip-link{position:fixed;top:0;left:10px;background:#fff;z-index:20;padding:10px;transform:translateY(-120%)}.skip-link:focus{transform:none}
@media(min-width:1550px){.hero-caption{right:max(5%,calc((100vw - 1280px)/2))}}
@media(max-width:1050px){.header-inner{gap:20px}nav{gap:22px}.header-call{padding:11px 15px}.hero{min-height:630px}h1{font-size:clamp(3.4rem,7vw,4.7rem)}.hero-content{padding:65px 0 80px}.hero-intro{max-width:410px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.service{padding:25px}.service-featured{padding:28px}.service-featured .service-number{padding-bottom:80px}.contact-grid{gap:40px}.contact-form{padding:26px}.about-inner{gap:40px}}
@media(max-width:740px){.header-inner{min-height:82px;gap:12px}.logo{gap:7px}.logo-mark{width:44px;height:47px}.logo-mark img{width:88px;height:88px;left:-22px;top:-10px}.wordmark{font-size:.9rem}.wordmark>span{font-size:.75rem}nav{display:none}.header-call{font-size:.8rem;gap:6px;padding:10px 12px}.header-call svg{display:none}.hero{min-height:0;display:block;padding-bottom:210px}.hero-image{inset:auto 0 0;width:100%;height:280px;object-position:center 58%}.hero-shade{background:linear-gradient(180deg,#102f26 0%,#102f26 62%,#102f26d0 69%,#102f2600 95%)}.hero-content{padding:48px 0 40px}h1{font-size:clamp(3.2rem,10vw,4.9rem);line-height:1.05}h1 em{font-size:.65em;margin-top:12px}.hero-intro{max-width:460px;font-size:1rem;margin-top:24px}.hero-actions{margin-top:27px;gap:17px}.hero-caption{bottom:23px;right:5%;left:5%}.hero-caption span:first-child{display:none}.eyebrow{font-size:.75rem;letter-spacing:.085em;margin-bottom:22px}.section{padding:60px 0}h2{font-size:clamp(2.4rem,7.6vw,3.4rem)}.section-heading{display:block}.section-heading>p{margin-top:23px;max-width:100%}.service-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:32px}.service-featured{grid-row:auto;grid-column:1/-1}.service{padding:23px}.service-number{font-size:.75rem;margin-bottom:20px;letter-spacing:.03em}.service-featured .service-number{margin-bottom:20px;padding:0}.service h3{font-size:1.5rem}.service-featured h3{font-size:2.3rem}.service p{font-size:1rem}.services-cta{justify-content:space-between}.about{padding:50px 0}.about-inner{grid-template-columns:1fr;gap:32px}.about .about-statement{font-size:1.8rem}.about h2{font-size:2.25rem}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy>p:not(.eyebrow){max-width:100%}.contact-form{padding:26px 22px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer-inner p{grid-column:1/-1}.footer-inner a:last-child{text-align:left}}
@media(max-width:430px){.services-cta{align-items:stretch;flex-direction:column;gap:12px;margin-top:25px}.services-button{width:100%;text-align:left}.services-cta p{font-size:.875rem}.service-grid{grid-template-columns:1fr}.service-featured{grid-column:auto}.service{padding:25px}.service-number{margin-bottom:16px}.service h3{font-size:1.8rem}.form-row{grid-template-columns:1fr;gap:0}.header-call{padding:10px 9px;font-size:.75rem}.wordmark{font-size:.825rem}.wordmark>span{font-size:.75rem}.phone-large{font-size:1.85rem}.hero-caption{bottom:22px}.contact-form h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service{transition:none}.button:hover,.service:hover{transform:none}}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.service-number{margin-bottom:16px}
.service-icon{width:42px;height:42px;margin-bottom:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#496555}
.service-featured .service-number{margin-bottom:auto;padding-bottom:50px}
.service-featured .service-icon{width:58px;height:58px;color:#294c35}
.projects{background:#edf1e9}
.projects-heading>p{max-width:430px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.project-card{min-width:0}
.project-image{position:relative;overflow:hidden;border-radius:14px;background:#dce4d7;aspect-ratio:4/3}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.project-card:hover .project-image img{transform:scale(1.025)}

.project-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 3px 0}
.project-meta h3{font-size:1.35rem}
.project-meta p{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}




@media(max-width:740px){.service-icon{width:38px;height:38px;margin-bottom:18px}.service-featured .service-icon{width:48px;height:48px}.service-featured .service-number{margin-bottom:16px;padding-bottom:0}.project-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.project-meta{padding-top:14px}}
@media(max-width:740px){}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}.project-card:hover .project-image img{transform:none}}

.menu-toggle{display:none}
@media(max-width:740px){
html{scroll-padding-top:94px}
.header{position:sticky;top:0;z-index:30;transition:transform .25s ease;will-change:transform}
.header.is-hidden{transform:translateY(-100%)}
.header-inner{position:relative}
.header-call{display:none}
.menu-toggle{display:flex;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle:hover{background:var(--paper)}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--forest);transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;padding:10px 20px 18px;background:#fff;border-top:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 14px 24px rgba(16,47,38,.16);flex-direction:column;align-items:stretch;gap:0}
.site-nav.is-open{display:flex}
.site-nav a{padding:13px 4px;border-bottom:1px solid var(--line)}
.site-nav a:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){.header,.menu-toggle span{transition:none}}

/* Launch refinements */
.service-featured{position:relative;justify-content:center;align-items:center;padding:90px 35px 55px;text-align:center}
.service-featured .service-number{position:absolute;top:35px;left:35px;margin:0;padding:0}
.service-featured-body{display:flex;flex-direction:column;align-items:center;width:100%}
.service-featured-body p{max-width:325px}
.service-featured .service-icon{margin-bottom:24px}
.about-inner{grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}
.about-photo{position:relative;min-height:460px;align-self:stretch;overflow:hidden;border-radius:18px;isolation:isolate}
.about-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center;z-index:-2}
.about-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,18,.03) 25%,rgba(8,26,18,.87) 100%);z-index:-1}
.about-photo-copy{position:absolute;bottom:36px;left:34px;right:28px}
.about-photo-copy .eyebrow{margin-bottom:16px}
.about .about-photo-copy .about-statement{font-size:clamp(1.8rem,2.6vw,2.65rem);font-weight:800;color:#fff;line-height:1.18;letter-spacing:-.045em;margin:0}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;font-size:.8rem}
.footer-inner>p{font-size:.875rem;grid-column:auto}
.footer-inner>*{white-space:nowrap}
.footer-social{border-bottom:1px solid #70877a}
.footer-social:hover{color:#fff;border-color:var(--accent)}
@media(max-width:1050px){.about-inner{gap:35px}.about-photo{min-height:480px}.about-photo-copy{left:25px;right:22px;bottom:30px}.service-featured{padding:80px 28px 45px}.service-featured .service-number{left:28px;top:28px}}
@media(max-width:740px){.service-featured{min-height:340px;padding:75px 25px 40px}.service-featured .service-number{left:25px;top:25px}.about-inner{grid-template-columns:1fr;gap:34px}.about-photo{min-height:350px}.about .about-photo-copy .about-statement{font-size:2rem}.footer-inner{justify-content:flex-start;gap:12px 22px}.footer-inner>p{width:100%}.footer-inner>*{white-space:normal}.footer-inner a:last-child{margin-left:auto}}
