:root{--ink:#19241e;--green:#20342a;--dark:#121e18;--lime:#d3ef72;--cream:#f4f2eb;--paper:#faf9f5;--stone:#e7e5dd;--muted:#667168;--line:#d8dcd4;--font:'DM Sans',system-ui,-apple-system,sans-serif;--heading:'Manrope',system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--font);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--heading);letter-spacing:-.055em;line-height:1.12}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8eaf3e;outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}svg{width:19px;height:19px}::selection{background:var(--lime);color:var(--ink)}[hidden]{display:none!important}.shell{width:min(1400px,calc(100% - 104px));margin-inline:auto}.section-pad{padding:122px 0}.eyebrow{display:flex;align-items:center;gap:12px;font:800 11px/1.5 var(--heading);letter-spacing:.17em;text-transform:uppercase}.eyebrow.dark{color:#5d6b60}.eyebrow.light{color:#dbe4d8}.display-title{max-width:850px;font-size:clamp(40px,4.2vw,70px);font-weight:700}.lead-text{max-width:580px;margin-top:27px;font-size:17px;line-height:1.9;color:#5e6b63}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;border:1px solid transparent;min-height:58px;padding:0 25px;font:800 12px/1 var(--heading);letter-spacing:.035em;white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-3px)}.btn-accent{background:var(--lime);color:#17251b}.btn-accent:hover{background:#e2f999}.btn-outline{border-color:#e5ebe3;color:#fff;background:rgba(255,255,255,.06)}.btn-outline:hover{background:#fff;color:var(--ink)}.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{background:#31493c}.text-arrow{display:inline-flex;align-items:center;gap:22px;font:800 12px var(--heading);letter-spacing:.01em;padding:0 0 8px;border-bottom:1px solid currentColor;transition:gap .2s}.text-arrow:hover{gap:32px}.text-arrow svg{width:18px}.media-frame{overflow:hidden;background:#cad0c6}.media-frame img{transition:transform .7s ease}.media-frame:hover img{transform:scale(1.04)}.demo-ribbon{display:flex;align-items:center;gap:10px;padding:7px 52px;min-height:35px;background:#d7ed86;color:#26381c;font:800 10px/1.3 var(--heading);letter-spacing:.065em}.ribbon-dot{width:6px;height:6px;border-radius:50%;background:#365221;flex:0 0 auto}.ribbon-spacer{flex:1}.demo-ribbon a{text-decoration:underline;text-underline-offset:3px}.site-header{position:relative;z-index:50;background:#fbfaf5;color:var(--ink);border-bottom:1px solid #edede6}.header-inner{height:93px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand-mark{position:relative;width:37px;height:40px;display:inline-flex;align-items:end;gap:3px;transform:skew(-16deg)}.brand-mark i{display:block;width:8px;background:var(--ink)}.brand-mark i:nth-child(1){height:20px}.brand-mark i:nth-child(2){height:29px}.brand-mark i:nth-child(3){height:38px}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-words strong{font:800 22px/.98 var(--heading);letter-spacing:-.075em}.brand-words small{font:800 9px/1.8 var(--heading);letter-spacing:.29em}.nav{display:flex;align-items:center;gap:35px;margin-left:auto}.nav a{font:700 12px var(--heading);color:#435047;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:#17231b}.nav a[aria-current=page]::after{content:'';display:block;height:2px;background:#a2b95f;margin-top:7px}.header-contact{display:inline-flex;align-items:center;gap:15px;min-height:46px;background:var(--ink);color:#fff;padding:0 18px;font:800 11px var(--heading);white-space:nowrap}.header-contact:hover{background:#3e5745}.header-contact svg{width:16px;height:16px}.menu-toggle,.mobile-nav{display:none}.home-hero{min-height:clamp(600px,70vw,765px);position:relative;color:white;background:var(--dark);isolation:isolate}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo .media-frame{height:100%;background:#243126}.hero-photo img{object-position:center 58%;filter:saturate(.69) brightness(.72)}.hero-shade{pointer-events:none;background:linear-gradient(90deg,rgba(6,16,11,.82) 0%,rgba(11,22,16,.58) 48%,rgba(10,18,12,.19) 100%),linear-gradient(0deg,rgba(5,14,9,.59),transparent 45%)}.hero-content{position:relative;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(600px,70vw,765px);padding-top:64px;padding-bottom:105px}.hero-top{display:flex;justify-content:space-between;align-items:center}.accent-bar{height:2px;width:26px;background:var(--lime)}.vertical-label{font:700 10px var(--heading);letter-spacing:.17em;writing-mode:vertical-rl;color:#ebf0e9}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.hero-title{font-size:clamp(58px,7.2vw,110px);font-weight:700;line-height:1.02;letter-spacing:-.085em;max-width:1000px;white-space:normal}.hero-baseline{display:flex;align-items:center;gap:48px;margin-top:39px}.hero-baseline>p{max-width:415px;font-size:15px;line-height:1.85;color:#d9dfd8}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.scroll-hint{display:flex;align-items:center;gap:20px;min-width:130px;flex-direction:column;font:800 9px var(--heading);letter-spacing:.19em;white-space:nowrap;color:#d6ded6}.scroll-hint>span:first-child{writing-mode:vertical-rl}.scroll-line{height:72px;width:1px;background:var(--lime)}.hero-index{position:absolute;bottom:0;left:0;right:0;min-height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 max(52px,calc((100vw - 1400px)/2));border-top:1px solid #ffffff40;background:rgba(10,19,14,.42);color:#dbe2db;font:700 10px var(--heading);letter-spacing:.12em}.hero-index em{opacity:.5;margin:0 12px;font-style:normal}.intro-section{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.87fr 1.13fr;column-gap:12%;align-items:center}.intro-image{height:350px;margin-top:50px;max-width:480px}.intro-image img{filter:saturate(.7)}.intro-copy{padding:12px 0 30px}.section-symbol{display:block;margin-bottom:26px;font:800 56px var(--heading);line-height:1;letter-spacing:-.1em}.section-symbol span{color:#a4be60}.intro-copy .text-arrow,.right-copy .text-arrow{margin-top:38px}.services-section{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-heading .display-title{margin-top:18px}.section-summary{max-width:535px;margin-top:22px;color:#6b746e;font-size:14px;line-height:1.8}.section-heading>.text-arrow{flex-shrink:0;margin-bottom:9px}.service-list{border-top:1px solid #bfc7be}.service-row{display:grid;grid-template-columns:65px minmax(210px,1.1fr) minmax(210px,.75fr) 60px;align-items:center;gap:20px;min-height:143px;border-bottom:1px solid #bfc7be;transition:padding .25s ease,background .25s ease}.service-row:hover{background:#e9ede1;padding-inline:17px}.service-number{font:800 11px var(--heading);color:#7c8b7a}.service-name{font:700 clamp(24px,2.3vw,36px) var(--heading);letter-spacing:-.06em;line-height:1.2}.service-description{font-size:13px;line-height:1.7;color:#6b756b;max-width:230px}.service-arrow{display:grid;place-items:center;justify-self:end;width:46px;height:46px;border:1px solid #bdc7b9;border-radius:50%}.service-arrow svg{width:19px}.projects-section{background:var(--paper)}.featured-projects{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:36px}.featured-project:nth-child(3){grid-column:1 / -1;display:grid;grid-template-columns:1.48fr .52fr;gap:35px;align-items:end}.project-pic{position:relative;height:425px;overflow:hidden}.project-pic .media-frame{height:100%}.featured-project:nth-child(3) .project-pic{height:490px}.project-view{position:absolute;right:19px;bottom:19px;background:var(--lime);font:800 10px var(--heading);padding:15px 18px;display:flex;align-items:center;gap:13px;opacity:0;transform:translateY(12px);transition:all .2s;z-index:5}.featured-project:hover .project-view{opacity:1;transform:none}.project-view svg{width:16px}.project-info{padding:20px 0}.project-type,.portfolio-meta{font:800 10px var(--heading);letter-spacing:.17em;color:#748272}.project-info h3{font-size:clamp(24px,2.5vw,34px);margin-top:9px}.project-info p{font-size:13px;margin-top:12px;color:#69746a}.approach-section{background:var(--dark);color:white}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:14%}.approach-copy .display-title{margin-top:20px}.approach-graphic{display:flex;gap:15px;margin-top:65px;height:85px;align-items:flex-end;transform:skew(-20deg);overflow:hidden}.approach-graphic span{display:block;background:var(--lime);width:28px}.approach-graphic span:nth-child(1){height:35px}.approach-graphic span:nth-child(2){height:59px}.approach-graphic span:nth-child(3){height:83px}.approach-list{border-top:1px solid #3d4f42}.approach-item{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:35px 0;border-bottom:1px solid #3d4f42}.step-no{font:800 11px var(--heading);color:var(--lime)}.approach-item h3{font-size:23px}.approach-item p{font-size:14px;color:#abb9af;margin-top:13px;max-width:440px;line-height:1.8}.closing-cta{position:relative;background:#d4ec80;overflow:hidden;padding:94px 0}.closing-cta .eyebrow.light{color:#4a6031}.closing-content{position:relative;z-index:2}.closing-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:24px}.closing-row h2{max-width:840px;font-size:clamp(40px,5.5vw,78px);letter-spacing:-.075em}.closing-row>div{display:flex;align-items:flex-start;flex-direction:column;gap:13px;flex-shrink:0}.closing-row .btn-accent{background:var(--ink);color:#fff}.closing-row .btn-accent:hover{background:#31493c}.cta-subtext{font:600 11px var(--font);color:#4c643a}.closing-graphic{position:absolute;right:-45px;top:-205px;line-height:1;font:800 550px var(--heading);letter-spacing:-.15em;color:#bbd56e;opacity:.5;pointer-events:none}.footer{background:#16221b;color:#f3f4ec;padding:78px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:90px;padding-bottom:83px}.brand-light .brand-mark i{background:#ecf0e8}.brand-light .brand-words strong{color:#fff}.brand-light .brand-words small{color:#adbbad}.footer-brand{max-width:430px}.footer-brand h3{font-size:31px;margin-top:38px;max-width:380px}.footer-description{font-size:13px;color:#9bac9c;line-height:1.8;margin-top:17px}.footer-links{display:flex;gap:100px;padding-top:10px}.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-links p{font:800 10px var(--heading);letter-spacing:.16em;color:#b9d27e;margin-bottom:12px}.footer-links a,.footer-detail{font-size:13px;color:#b8c5ba;line-height:1.6}.footer-links a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #35453a;display:flex;align-items:center;gap:24px;justify-content:space-between;padding-top:24px;font-size:11px;color:#95a897}.footer-bottom a{color:#d7ebaf}.footer-plus{color:var(--lime);font-size:18px;margin:0 5px}.sub-hero{background:var(--cream);padding-top:95px}.sub-hero-inner{padding-bottom:66px}.sub-title{max-width:1060px;margin-top:25px;font-size:clamp(55px,7vw,112px);line-height:1.03;letter-spacing:-.08em}.sub-description{max-width:670px;margin-top:28px;color:#68756a;font-size:16px;line-height:1.85}.sub-hero-image{height:clamp(320px,41vw,570px)}.sub-hero-image .media-frame{height:100%}.sub-hero-image img{object-position:center}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.story-photo{height:420px;margin-top:32px}.right-copy{padding-block:30px}.values-section{background:var(--cream)}.values-section .display-title{margin:23px 0 48px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-card{padding:42px 32px 48px;background:var(--paper);min-height:275px;border-top:3px solid #c7df76}.value-card>span{font:800 11px var(--heading);color:#76915a}.value-card h3{font-size:28px;margin-top:47px}.value-card p{font-size:14px;color:#687369;line-height:1.8;margin-top:14px}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:62px 0;border-bottom:1px solid #d5ddd2;scroll-margin-top:60px}.service-feature:nth-of-type(even) .service-feature-image{order:2}.service-feature-image{height:430px}.service-feature-copy .display-title{margin-top:20px}.service-feature-copy .text-arrow{margin-top:35px}.portfolio-top{background:var(--cream);padding:96px 0 110px}.portfolio-top .sub-description{margin-bottom:49px}.filter-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.filter{padding:10px 17px;border:1px solid #ccd5ca;background:transparent;color:#536253;font:800 11px var(--heading)}.filter.active,.filter:hover{color:#fff;background:var(--ink);border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 28px}.portfolio-card{min-width:0}.portfolio-pic{height:clamp(280px,34vw,465px);overflow:hidden}.portfolio-pic .media-frame{height:100%}.portfolio-card:nth-child(3n+2){margin-top:65px}.portfolio-meta{display:flex;justify-content:space-between;margin-top:19px}.portfolio-card h2{font-size:clamp(26px,3.1vw,42px);margin-top:10px}.portfolio-card>p{color:#67746a;font-size:14px;margin-top:10px}.portfolio-disclaimer{border-left:3px solid #abc569;margin-top:74px;padding:12px 17px;background:#e7ebdc;font-size:12px;color:#455948}.contact-page{background:var(--cream)}.contact-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:9%;align-items:start;margin-top:70px}.contact-information .display-title{font-size:clamp(35px,3.1vw,52px)}.contact-information .lead-text{font-size:15px}.contact-items{margin-top:38px;padding-top:10px;border-top:1px solid #cbd5c7}.contact-items>div{display:grid;grid-template-columns:122px 1fr;gap:16px;align-items:baseline;border-bottom:1px solid #cbd5c7;padding:17px 0}.contact-items span{font:800 10px var(--heading);letter-spacing:.11em;color:#728272}.contact-items strong{font:700 13px var(--font);color:var(--ink);overflow-wrap:anywhere}.contact-image{height:260px;margin-top:45px}.contact-form-wrap{background:var(--paper);padding:42px;box-shadow:0 20px 65px rgba(28,43,30,.045)}.form-icon{display:grid;place-items:center;background:var(--lime);width:40px;height:40px;border-radius:50%;font-size:23px}.form-top h2{font-size:35px;margin-top:22px}.form-top p{font-size:13px;color:#718071;line-height:1.7;margin-top:12px}.contact-form{margin-top:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{display:block;font:800 11px var(--heading);color:#344537;margin-bottom:20px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 13px;display:block;margin-top:9px;border:1px solid #ced7ce;background:#fff;border-radius:0;color:var(--ink);font:400 13px var(--font)}.contact-form textarea{resize:vertical;min-height:150px}.contact-form .btn{border:0;width:100%}.form-disclaimer{font:700 10px/1.7 var(--heading);letter-spacing:.035em;color:#718273;margin-top:16px}.form-message{font:700 13px/1.6 var(--font);background:#e4f3cb;color:#385127;padding:14px;margin-top:18px}
@media(max-width:1180px){.shell{width:min(100% - 66px,1400px)}.header-inner{gap:18px}.nav{gap:20px}.brand{min-width:auto}.hero-baseline{gap:25px}.hero-title{font-size:clamp(52px,7.8vw,96px)}.hero-buttons{gap:9px}.hero-buttons .btn{min-height:52px;padding-inline:16px}.closing-row{align-items:start;flex-direction:column}.footer-links{gap:50px}}
@media(max-width:860px){.shell{width:calc(100% - 46px)}.section-pad{padding:80px 0}.nav,.header-contact{display:none}.header-inner{height:75px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;background:var(--ink);border:0;width:42px;height:42px;align-items:center}.menu-toggle span{width:19px;height:2px;background:#fff}.mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;background:#f7f6f0;padding:12px 23px 26px;flex-direction:column;box-shadow:0 18px 30px rgba(0,0,0,.16)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #d9e0d6;font:800 16px var(--heading)}.home-hero,.hero-content{min-height:665px}.hero-content{padding-top:41px;padding-bottom:85px}.hero-bottom{align-items:start}.scroll-hint{display:none}.hero-baseline{align-items:start;flex-direction:column;margin-top:24px}.hero-title{font-size:clamp(56px,10vw,82px)}.hero-index{padding:0 23px}.intro-grid,.two-column{gap:8%}.intro-image{height:300px}.display-title{font-size:clamp(39px,5.7vw,59px)}.service-row{grid-template-columns:42px minmax(150px,1fr) 39px;gap:12px}.service-description{display:none}.featured-project:nth-child(3){display:block}.featured-project:nth-child(3) .project-pic{height:390px}.approach-grid{gap:7%}.footer-main{gap:35px}.footer-links{gap:24px}.sub-hero{padding-top:67px}.contact-layout{gap:35px}.contact-form-wrap{padding:29px}.contact-items>div{grid-template-columns:90px 1fr}}
@media(max-width:640px){body{font-size:14px}.demo-ribbon{padding:8px 15px;font-size:9px;gap:6px}.ribbon-hide{display:none}.shell{width:calc(100% - 34px)}.site-header .brand-words strong{font-size:20px}.site-header .brand-words small{font-size:8px}.home-hero,.hero-content{min-height:715px}.hero-photo img{object-position:57% center}.hero-shade{background:linear-gradient(0deg,rgba(9,20,13,.93) 0%,rgba(9,20,13,.42) 85%)}.hero-content{padding:35px 0 86px}.hero-top .eyebrow{font-size:9px;max-width:250px}.vertical-label{font-size:9px}.hero-title{font-size:clamp(54px,13.2vw,76px);letter-spacing:-.085em}.hero-baseline>p{font-size:14px}.hero-buttons{width:100%;flex-direction:column}.hero-buttons .btn{width:100%;min-height:50px}.hero-index{padding-inline:17px;font-size:9px}.hero-index span:last-child{font-size:8px}.section-pad{padding:66px 0}.eyebrow{font-size:10px}.intro-grid,.two-column,.approach-grid,.contact-layout{grid-template-columns:1fr;gap:35px}.intro-label{display:flex;flex-direction:column}.intro-image{height:270px;margin-top:25px;max-width:none}.intro-copy{padding:0}.section-symbol{font-size:46px;margin-bottom:18px}.display-title{font-size:clamp(37px,10vw,54px)}.lead-text{font-size:14px;line-height:1.85;margin-top:19px}.section-heading{align-items:start;flex-direction:column;gap:17px;margin-bottom:29px}.section-heading .display-title{margin-top:13px}.section-summary{margin-top:14px}.service-row{min-height:103px;grid-template-columns:28px 1fr 40px}.service-name{font-size:23px}.service-arrow{width:37px;height:37px}.featured-projects,.portfolio-grid,.values-grid{grid-template-columns:1fr;gap:26px}.project-pic,.featured-project:nth-child(3) .project-pic{height:300px}.project-view{opacity:1;transform:none;padding:11px;font-size:9px}.project-info{padding:14px 0 4px}.project-info h3{font-size:27px}.approach-graphic{display:none}.approach-list{margin-top:7px}.approach-item{padding:25px 0}.closing-cta{padding:67px 0}.closing-row{gap:24px}.closing-row h2{font-size:clamp(40px,10vw,57px)}.closing-row>div,.closing-row .btn{width:100%}.closing-graphic{font-size:360px;top:-90px}.footer{padding-top:57px}.footer-main{flex-direction:column;padding-bottom:50px}.footer-brand h3{font-size:30px}.footer-links{gap:42px}.footer-bottom{flex-wrap:wrap;justify-content:start;gap:10px 25px}.sub-hero{padding-top:65px}.sub-hero-inner{padding-bottom:42px}.sub-title{font-size:clamp(54px,12.6vw,74px)}.sub-description{font-size:14px;margin-top:18px}.sub-hero-image{height:285px}.story-photo{height:300px}.value-card{min-height:220px;padding:27px}.value-card h3{margin-top:25px}.service-feature,.service-feature:nth-of-type(even){grid-template-columns:1fr;gap:25px;padding:34px 0}.service-feature:nth-of-type(even) .service-feature-image{order:0}.service-feature-image{height:295px}.service-feature-copy .display-title{margin-top:12px}.portfolio-top{padding:65px 0}.portfolio-top .sub-description{margin-bottom:24px}.portfolio-grid{gap:37px}.portfolio-card:nth-child(3n+2){margin-top:0}.portfolio-pic{height:315px}.filter-controls{gap:7px}.filter{padding:9px 11px;font-size:10px}.contact-layout{margin-top:42px}.contact-image{height:220px}.contact-items>div{grid-template-columns:95px 1fr}.contact-form-wrap{padding:23px 19px}.form-top h2{font-size:30px}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the hero image change control clickable behind the transparent copy layer. */
.hero-content a,.hero-content [data-cms-field]{pointer-events:auto}
.cms-editing .hero-photo .cms-image-edit{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99998}
.cms-editing .featured-project,.cms-editing .service-row{cursor:default}
